一直只有兩個
開了四個客戶端了。 。 。
<code><?php // 官网demo $ws = new swoole_websocket_server("***********", 9502); $fds = []; /** * 广播发送 * @param swoole_websocket_server $ws * @param $msg * @param $fds * @param null $me */ function broadcast(swoole_websocket_server $ws, $msg, $fds , $me = null) { foreach($fds as $fd) { if($fd != $me) { $ws->push($fd, $msg); } } } // 监听WebSocket连接打开事件 $ws->on('open', function (swoole_websocket_server $ws, $request) use(&$fds) { $fds[$request->fd] = $request->fd; $ws->push($request->fd, "欢迎接入小孟聊天平台\n"); broadcast($ws, "用户{$request->fd}登录啦!", $fds, $request->fd); var_dump($fds); }); // 监听WebSocket消息事件 $ws->on('message', function (swoole_websocket_server $ws, $frame) use(&$fds) { $msg = 'from'.$frame->fd.":{$frame->data}\n"; broadcast($ws, $msg, $fds, $frame->fd); // $ws->push($frame->fd, "server: {$frame->data}"); // $ws->push($frame->fd, "server: {$frame->data}"); }); // 监听WebSocket连接关闭事件 $ws->on('close', function (swoole_websocket_server $ws, $fd) use(&$fds) { unset($fds[$fd]); broadcast($ws, "用户{$fd}下线啦!", $fds); }); $ws->start();</code>
一直只有兩個
開了四個客戶端了。 。 。
<code><?php // 官网demo $ws = new swoole_websocket_server("***********", 9502); $fds = []; /** * 广播发送 * @param swoole_websocket_server $ws * @param $msg * @param $fds * @param null $me */ function broadcast(swoole_websocket_server $ws, $msg, $fds , $me = null) { foreach($fds as $fd) { if($fd != $me) { $ws->push($fd, $msg); } } } // 监听WebSocket连接打开事件 $ws->on('open', function (swoole_websocket_server $ws, $request) use(&$fds) { $fds[$request->fd] = $request->fd; $ws->push($request->fd, "欢迎接入小孟聊天平台\n"); broadcast($ws, "用户{$request->fd}登录啦!", $fds, $request->fd); var_dump($fds); }); // 监听WebSocket消息事件 $ws->on('message', function (swoole_websocket_server $ws, $frame) use(&$fds) { $msg = 'from'.$frame->fd.":{$frame->data}\n"; broadcast($ws, $msg, $fds, $frame->fd); // $ws->push($frame->fd, "server: {$frame->data}"); // $ws->push($frame->fd, "server: {$frame->data}"); }); // 监听WebSocket连接关闭事件 $ws->on('close', function (swoole_websocket_server $ws, $fd) use(&$fds) { unset($fds[$fd]); broadcast($ws, "用户{$fd}下线啦!", $fds); }); $ws->start();</code>