請(qǐng)問下基于AsyncTcpConnection實(shí)現(xiàn)的WS客戶端,如何發(fā)送PING(0x9)數(shù)據(jù)? (WebSocket08FrameEncoder - Encoding WebSocket Frame opCode=9 length=0)
這是發(fā)送十六進(jìn)制數(shù)據(jù)嗎? 十六進(jìn)制發(fā)送接收
謝謝,不是,是需要發(fā)送心跳幀
呃呃呃
試下$connection->send(pack('H*', '8980'), true);
$connection->send(pack('H*', '8980'), true);
謝謝!可以了;$connection->send(pack('H*', '898000000000'), true);
$connection->send(pack('H*', '898000000000'), true);
東子后來是怎么解決這個(gè)問題的, 看到消息能回復(fù)我一下嘛
也可以試試: $connection->websocketType = "\x89";
$connection->websocketType = "\x89";
今天在 Ws.php 中發(fā)現(xiàn) connection 連接對(duì)象可以設(shè)置 websocketPingInterval 屬性, 幫助手冊(cè)提都沒提,真狠啊!
Ws.php
connection
websocketPingInterval
幫助手冊(cè)可以完善 你提交一個(gè)pr
我也在使用AsyncTcpConnection實(shí)現(xiàn)的WS客戶端 心跳問題還是沒有弄好
直接設(shè)置連接對(duì)象 $connection->websocketPingInterval = 15 然后連接就可以了。注意這WS自帶心跳協(xié)議,要看實(shí)際WS服務(wù)端的心跳協(xié)議情況的
如果 心跳檢驗(yàn)幀發(fā)送后,收到 心跳答應(yīng)幀,那基本上可以確定本次心跳成功~
好的 謝謝東子