WebSocket\Frame
最后更新于:2022-04-02 06:34:46
# WebSocket\\Frame
在`4.2.0`版本中, 新增了 服务端和客户端 发送`WebSocket\Frame`对象的支持
同时增加了一个新的子类`WebSocket\CloseFrame`
一个普通的`frame`对象具有以下属性
~~~
object(Swoole\WebSocket\Frame)#1 (4) {
["fd"]=>
int(0)
["data"]=>
NULL
["opcode"]=>
int(1)
["finish"]=>
bool(true)
}
~~~
一个普通的`close frame`对象具有以下属性, 多了`code`和`reason`属性, 记录了关闭的错误代码和原因
如果服务端需要接收`close frame`, 需要通过`$server->set`开启`open_websocket_close_frame`参数
~~~
object(Swoole\WebSocket\CloseFrame)#1 (6) {
["fd"]=>
int(0)
["data"]=>
NULL
["finish"]=>
bool(true)
["opcode"]=>
int(8)
["code"]=>
int(1000)
["reason"]=>
string(0) ""
}
~~~
在用于发送时,`fd`属性会被忽略(因为服务器端`fd`是第一个参数, 客户端无需指定`fd`), 所以`fd`是一个只读属性
相关示例代码可以在[swoole websocket 单元测试](https://github.com/swoole/swoole-src/tree/master/tests/swoole_websocket_server)中找到
';