但是,http协议限制了,用户获得数据必须主动去请求服务器,才能获取到数据,在聊天室,网页对战游戏中,并不是只有用户与服务器的交互,还存在了用户与用户之间的交互....举个例子,在聊天室需求中,A和B互相通信的实现:
A不断的请求服务器,B有没有给我发送消息(主动请求服务器,询问有没有新消息)
B不断的请求服务器,A有没有给我发送消息(主动请求服务器,询问有没有新消息...这就是websocket了
websocket
websocket作为全双工通信协议,只要连接成功之后,浏览器和服务器就可以互相主动发送消息,那么,刚刚的聊天室需求就会变成:
A与服务器建立连接
B与服务器建立连接...会调用执行这个回调函数
ws.onclose = function(params) { console.log("client:关闭连接");
};
php实现websocket服务端
本文采用swoole...php
$server = new Swoole\WebSocket\Server("0.0.0.0", 9501);
$server->on('open', function (Swoole\WebSocket