🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# swoole_websocket_frame 在Swoole 4.2.0版本中, 新增了 服务端和客户端 发送`swoole_websocket_frame`对象的支持 同时增加了一个新的子类`swoole_websocket_close_frame` 一个普通的frame对象具有以下属性 ```php 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`参数 ```php 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) 中找到