发布于 2015-08-09 09:44:11 | 430 次阅读 | 评论: 0 | 来源: 网络整理
当服务器收到来自客户端的数据帧时会回调此函数。
function onMessage(swoole_server $server, swoole_websocket_frame $frame)
- $frame 是swoole_websocket_frame对象,包含了客户端发来的数据帧信息
swoole_websocket_frame
共有4个属性,分别是
- $frame->fd,客户端的socket id,使用$server->push推送数据时需要用到
- $frame->data,数据内容,可以是文本内容也可以是二进制数据,可以通过opcode的值来判断
- $frame->opcode,WebSocket的OpCode类型,可以参考WebSocket协议标准文档
- $frame->finish, 表示数据帧是否完整,一个WebSocket请求可能会分成多个数据帧进行发送
$data 如果是文本类型,编码格式必然是UTF-8,这是WebSocket协议规定的
OpCode与数据类型
- WEBSOCKET_OPCODE_TEXT = 0x1 ,文本数据
- WEBSOCKET_OPCODE_BINARY = 0x2 ,二进制数据