php即时聊天的框架_PHP框架实现WebSocket在线聊天通讯系统

ThinkPHP使用Swoole需要安装think-swoole Composer包,前提系统已经安装好了Swoole PECL 拓展

tp5的项目根目录下执行composer命令安装think-swoole:

composer require topthink/think-swoole

话不多说,直接上代码:

新建WebSocket.php控制器:

(监听端口要确认服务器放行,宝塔环境还需要添加安全组规则)

namespace app\home\controller;

use think\swoole\Server;

class WebSocket extends Server

{

protected $host = '0.0.0.0'; //监听所有地址

protected $port = 9501; //监听9501端口

protected $serverType = 'socket';

protected $option = [

'worker_num'=> 4, //设置启动的Worker进程数

'daemonize' => false, //守护进程化(上线改为true)

'backlog' => 128, //Listen队列长度

'dispatch_mode' => 2, //固定模式,保证同一个连接发来的数据只会被同一个worker处理

//心跳检测:每60秒遍历所有连接,强制关闭10分钟内没有向服务器发送任何数据的连接

'heartbeat_check_interval' => 60,

'heartbeat_idle_time' => 600

];

//建立连接时回调函数

public function onOpen($server,$req)

{

$fd = $req->fd;//客户端标识

$uid = $req->get['uid'];//客户端传递的用户id

$token = $req->get['token'];//客户端传递的用户登录token

//省略token验证逻辑......

if (!$token) {

$arr = ar

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值