前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >老雷socket编程之workerman框架

老雷socket编程之workerman框架

作者头像
老雷PHP全栈开发
发布2020-07-02 14:58:44
7050
发布2020-07-02 14:58:44
举报
文章被收录于专栏:老雷PHP全栈开发

php开发socket服务,现在流行的框架有两个,swoole和workerman,swoole采用c写的扩展,workerman是由php写的一个库。我们采用基于workerman的GatewayWorker来实现我们的websocket服务。

GatewayWorker封装了我们私聊群聊所需要的常用功能,所以我们使用起来也很简单。

下载地址:https://www.workerman.net/

手册地址:http://doc2.workerman.net/

在GatewayWorker中我们只需要在Events.php编写我们的业务就可以了。

代码语言:javascript
复制
<?php
  use \GatewayWorker\Lib\Gateway;


  class Events
{


    /**用户连接**/
    public static function onConnect($client_id)
{
       //Gateway::sendToCurrentClient("Your client_id is $client_id");
    }
    /**用户消息**/
    public static function onMessage($client_id, $message)
{
      $arr=json_decode($message,true);
      if($arr["type"]=="login"){
        return self::login($client_id,$arr);
         
      }
      // 发送给所有的客户
      GateWay::sendToAll($message);
      /*
      
      //发送给个人
      Gateway::sendToClient($client_id, $message);
      //发送给用户
      Gateway::sendToUid($uid,$message);
      //发送给群里的人
      $gid="测试群";
      Gateway::sendToGroup($gid,$message);
      */
    }
    /**认证**/
    public static function login($client_id,$arr){
      $message=json_encode($arr);
      Gateway::sendToClient($client_id, $message);
    }    
    /**用户退出***/
    public static function onClose($client_id)
{
       // 广播 xxx logout
      // GateWay::sendToAll("client[$client_id] logout\n");
    }

  }

?>
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老雷PHP全栈开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档