以下是一个简单的使用Swoole实现WebSocket的PHP代码示例:
<?php
// 创建一个WebSocket服务器对象,监听0.0.0.0:9502端口
$ws = new swoole_websocket_server("0.0.0.0", 9502);
// 设置WebSocket服务器的回调函数
$ws->on('open', function ($ws, $request) {
echo "server: handshake success with fd{$request->fd}\n";
});
$ws->on('message', function ($ws, $frame) {
echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n";
$ws->push($frame->fd, "this is server");
});
$ws->on('close', function ($ws, $fd) {
echo "client {$fd} closed\n";
});
// 启动WebSocket服务器
$ws->start();
?>
在这个例子中,我们创建了一个WebSocket服务器,监听0.0.0.0:9502端口。当有新的客户端连接时,会触发'open'回调函数,我们可以在该函数中执行一些初始化操作。
当服务器接收到客户端发送的消息时,会触发'message'回调函数,我们可以在此函数中处理客户端发来的消息,并通过$ws->push()
方法将消息推送给客户端。
当客户端断开连接时,会触发'close'回调函数,我们可以在该函数中执行一些清理操作。
最后,通过调用$ws->start()
方法启动WebSocket服务器。
推荐问答