一直只有两个
开了四个客户端了。。。
<?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();
$fds 要通过swoole_server::$connections 获取所有fd
http://wiki.swoole.com/wiki/p...