WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。换句话说,Websocket让web可以与服务端实现长连接。
在Swoole中,通过内置的 WebSocket 服务器支持,通过几行 PHP 代码就可以写出一个异步 IO 的多进程的 WebSocket 服务器。WebSocket\Server 继承自 Http\Server,所以 Http\Server 提供的所有 API 和配置项都可以使用。
现在我们用一段简短的代码,先了解websocket在swoole中如何实现:
$server = new Swoole\WebSocket\Server("0.0.0.0", 9501);
$server->on('open', function (Swoole\WebSocket\Server $server, $request) {
echo "server: handshake success with fd{$request->fd}\n";
});
$server->on('message', function (Swoole\WebSocket\Server $server, $frame) {
echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n";
$server->push($frame->fd, "this is server");
});
$server->on('close', function ($ser, $fd) {
echo "client {$fd} closed\n";
});
$server->on('request', function (Swoole\Ht

本文介绍了WebSocket是一种在单个TCP连接上进行全双工通讯的协议,使得Web可以与服务端实现长连接。在Swoole中,可以通过简单的PHP代码创建WebSocket服务器。示例代码展示了如何处理open、message、close事件以及如何与HTTP服务器共存。调试WebSocket服务器时,由于缺乏理想工具,作者提到了自制的简单调试器。
最低0.47元/天 解锁文章
558

被折叠的 条评论
为什么被折叠?



