PHP实现websocket服务器
时间: 2023-07-27 13:06:19 浏览: 46
要实现一个WebSocket服务器,可以使用PHP的Swoole扩展来完成。下面是一个简单的示例代码:
```php
<?php
// 创建websocket服务器对象,监听0.0.0.0:9502端口
$server = new swoole_websocket_server("0.0.0.0", 9502);
// 监听websocket连接打开事件
$server->on('open', function (swoole_websocket_server $server, $request) {
echo "client {$request->fd} connected\n";
});
// 监听websocket消息事件
$server->on('message', function (swoole_websocket_server $server, $frame) {
echo "received message: {$frame->data}\n";
// 广播消息给所有连接的客户端
foreach ($server->connections as $fd) {
$server->push($fd, $frame->data);
}
});
// 监听websocket连接关闭事件
$server->on('close', function (swoole_websocket_server $server, $fd) {
echo "client {$fd} closed\n";
});
// 启动websocket服务器
$server->start();
```
以上代码会创建一个监听0.0.0.0:9502端口的WebSocket服务器,并在客户端连接打开、接收消息、连接关闭时触发相应的事件处理函数。在message事件处理函数中,我们通过遍历所有连接的客户端,将接收到的消息广播给所有客户端。