作者:小情冒_256 | 来源:互联网 | 2023-07-12 12:39
现在我启动websocket服务,大致的代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| //创建websocket服务器对象,监听0.0.0.0:9502端口
$ws_server = new swoole_websocket_server('192.168.183.200', 9502);
//设置server运行时的各项参数
$ws_server->set(array(
'daemonize' => true, //是否作为守护进程
));
//监听WebSocket连接打开事件
$ws_server->on('open', function ($ws, $request) {
$ws->push($request->fd, "Hello, Welcome\n");
});
//监听WebSocket消息事件
$ws_server->on('message', function ($ws, $frame) {
pushMessage($ws,$frame);
});
//监听WebSocket连接关闭事件
$ws_server->on('close', function ($ws, $fd) {
echo "client-{$fd} is closed\n";
});
$ws_server->start();
//消息推送
function pushMessage($ws,$frame){
$ws->push($frame->fd, $frame->fd.' : '.$data.'这里是推送给用户的内容,待会我想修改');
}
|
服务是启动了,但是到时候业务调整,我需要修改推送给用户的内容。发现必须要重启websocket才能生效,可是重启又会影响当前正在聊天的用户,如何解决这个问题呢?
各位大神帮帮忙,在此感谢