首页
导航
博客
电子书
算法
众创
代码
随贴
关于我们
您好,欢迎来到码863代码分享网! 请
[登录]
/
[注册]
搜 索
swoole,websocket服务器简单示例
编辑
redis要换成连接池,不然多用户多进程下会出错
代码正文
双击正文可选择全部
1[代码][php]
尝试一下
<?php $redis=new Redis; $redis->pconnect('127.0.0.1', 6379); $redis->del('set'); //创建websocket服务器对象,监听0.0.0.0:9502端口 $ws = new swoole_websocket_server("0.0.0.0", 9502); //监听WebSocket连接打开事件 $ws->on('open', function ($ws, $request) { global $redis; var_dump($request->fd, $request->get, $request->server); $redis->sadd('set',$request->fd); $ws->push($request->fd, "服务器回复连接成功,redis保存连接".($redis->sismember('set',$request->fd)? '成功':'失败')); }); //监听WebSocket消息事件 $ws->on('message', function ($ws, $frame) { echo "Message: {$frame->data}\n"; $ws->push($frame->fd, "server: {$frame->data}"); }); //监听WebSocket连接关闭事件 $ws->on('close', function ($ws, $fd) { global $redis; $redis->srem('set',$fd); echo "client-{$fd} is closed\n"; }); /*每隔2000ms触发一次*/ swoole_timer_tick(5000, function ($timer_id) { global $redis; print_r($redis->smembers('set')); }); $ws->start();
文明上网理性发言,请遵守新闻评论服务协议
0 条评论
发布评论
全部评论
最新
/
最热
暂无评论
加载更多
CopyRight 2002~2023 精通2100网 联系邮箱:qqtxt@163.com
版权所有:精通2100网
湘ICP备2023018646号-1
MYSQl共执行 3 个查询,用时 0.0025413036346436 秒,PHP脚本用时 0.004517 秒,占用内存 0.502 MB,Gzip 已启用