时间:2021-07-01 10:21:17 帮助过:39人阅读
<?php // 官网demo $ws = new swoole_websocket_server("************", 9502); function broadcast(swoole_websocket_server $ws, $msg, $me = null) { foreach($ws->connections as $fd) { if($fd != $me) { $ws->push($fd, $msg); } } } // 监听WebSocket连接打开事件 $ws->on('open', function (swoole_websocket_server $ws, $request) { $ws->push($request->fd, "欢迎接入小孟聊天平台\n"); broadcast($ws, "用户{$request->fd}登录啦!", $request->fd); }); // 监听WebSocket消息事件 $ws->on('message', function (swoole_websocket_server $ws, $frame) { $msg = 'from'.$frame->fd.":{$frame->data}\n"; broadcast($ws, $msg); // $ws->push($frame->fd, "server: {$frame->data}"); // $ws->push($frame->fd, "server: {$frame->data}"); }); // 监听WebSocket连接关闭事件 $ws->on('close', function (swoole_websocket_server $ws, $fd) { broadcast($ws, "用户{$fd}下线啦!"); }); $ws->start();
这是代码,不是用connections属性吗
你的系统缺少pcre组件,而connections迭代器需要依赖这个库。
安装pcre-dev(ubuntu)或pcre-devel(centos)
重新编译安装swoole
我安装swoole1.8.7-beta的时候也碰到这个问题,后来安装了pcre还是不行,我想应该是顺序错了,应该先安装pcre再安装swoole应该可以
以上就是swoole的webSocket类没有connections属性吗?出错了的内容,更多相关内容请关注PHP中文网(www.gxlcms.com)!