WEBSOCKETphp
服务端代码web
//建立websocket服务器对象,监听0.0.0.0:9502端口 $ws = new swoole_websocket_server("0.0.0.0", 9502); //监听WebSocket链接打开事件 $ws->on('open', function ($ws, $request) { var_dump($request->fd, $request->get, $request->server); $ws->push($request->fd, "hello, welcome\n"); }); //监听WebSocket消息事件 $ws->on('message', function ($ws, $frame) { echo "Message: {$frame->data}\n"; $ws->push($frame->fd, "server: {$frame->data}"); }); //监听WebSocket链接关闭事件 $ws->on('close', function ($ws, $fd) { echo "client-{$fd} is closed\n"; }); $ws->start();
WebSocket服务器是创建在Http服务器之上的长链接服务器,客户端首先会发送一个Http的请求与服务器进行握手。握手成功后会触发onOpen事件,表示链接已就绪,onOpen函数中能够获得$request
对象,包含了Http握手的相关信息,如GET参数、Cookie、Http头信息等。服务器
创建链接后客户端与服务器端就能够双向通讯了。websocket
onMessage
事件回调$server->push()
向某个客户端(使用$fd标识符)发送消息onHandShake
事件回调来手工处理WebSocket握手待续 须要安装 客户端swoole