请问下基于AsyncTcpConnection实现的WS客户端,如何发送PING(0x9)数据

东子

请问下基于AsyncTcpConnection实现的WS客户端,如何发送PING(0x9)数据?
(WebSocket08FrameEncoder - Encoding WebSocket Frame opCode=9 length=0)

255 4 0
4个回答

li914

这是发送十六进制数据吗? 十六进制发送接收

walkor

试下$connection->send(pack('H*', '8980'), true);

  • 东子 2022-05-20

    谢谢!可以了;$connection->send(pack('H*', '898000000000'), true);

  • kinross 2022-05-23

    东子后来是怎么解决这个问题的, 看到消息能回复我一下嘛

blogdaren

也可以试试: $connection->websocketType = "\x89";

  • 暂无评论
东子

今天在 Ws.php 中发现 connection 连接对象可以设置 websocketPingInterval 属性, 帮助手册提都没提,真狠啊!

  • 没茅台 2022-05-22

    帮助手册可以完善 你提交一个pr

  • kinross 2022-05-23

    我也在使用AsyncTcpConnection实现的WS客户端 心跳问题还是没有弄好

  • 东子 2022-05-23

    直接设置连接对象 $connection->websocketPingInterval = 15 然后连接就可以了。注意这WS自带心跳协议,要看实际WS服务端的心跳协议情况的

  • 东子 2022-05-23

    如果 心跳检验帧发送后,收到 心跳答应帧,那基本上可以确定本次心跳成功~

  • kinross 2022-05-23

    好的 谢谢东子

🔝