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对象具有以下属性, 多了codereason属性, 记录了关闭的错误代码和原因

如果服务端需要接收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 单元测试 中找到



  • yichen

    怎么连接?设置参数连接ip写在什么位置?

  • yichen

    怎么用 呀?

  • yichen

    有没有 websocket 客户端

  • 足迹

    基于swoole+layim 实现的网页聊天室:www.inxtea.com