五、搭建websocket服务
5.1、简介
WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。
WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
websocket解决服务器端与客户端即时通信的问题。 协议名:ws 加密通信 wss 通信成功 状态码 101
5.2、浏览器支持
5.3、html5中websocketApi
代码语言:javascript复制var ws = new WebSocket("ws://localhost:9501");
- Websocket事件
- WebSocket 方法
.
5.4、swoole实现websocket服务
WebSocketServer 继承自 HttpServer
代码语言:javascript复制$server = new SwooleWebSocketServer("0.0.0.0", 9501);
// 当WebSocket客户端与服务器建立连接并完成握手后会回调此函数
$server->on('open', function (SwooleWebSocketServer $server, SwooleHttpRequest $request) {
echo "已连接成功n";
});
// 当服务器收到来自客户端的数据帧时会回调此函数 此回调方法不能缺少
$server->on('message', function (SwooleWebSocketServer $server, swoole_websocket_frame $frame) {
// 服务器端主动向客户端发送消息
//$frmae->data 客户端发过来的数据
// 服务器端向客户端发送消息
$server->push($frame->fd, "this is server");
});
// 客户端关闭连接时触发此回调函数
$server->on('close', function ($ser, $fd) {
echo "client {$fd} closedn";
});
// 启动服务
$server->start();