NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
# onMessage 当服务器收到来自客户端的数据帧时会回调此函数。 ~~~ function onMessage($server, int $fd, 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与数据类型 - OPCODE_TEXT_FRAME = 0x1 ,文本数据 - OPCODE_BINARY_FRAME = 0x2 ,二进制数据 |  Swoole流程 | |-----| ![](https://box.kancloud.cn/2015-07-20_55aca2bc936ef.)