国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

AsyncTcpConnection斷線重連

akmao

ws客戶端

AsyncTcpConnection斷線,在onClose時(shí)候,通過$connection->reConnect(1),on connect觸發(fā): Sec-WebSocket-Accept not found。
目前糟糕的解決方案是:onClose時(shí)候,reload -g 重啟進(jìn)程。
期待更好的解答。

use Workerman\Worker;
use Workerman\Connection\AsyncTcpConnection;
require_once __DIR__ . '/Workerman/Autoloader.php';
$worker = new Worker();
// 進(jìn)程啟動(dòng)時(shí)
$worker->onWorkerStart = function()
{
    // 以websocket協(xié)議連接遠(yuǎn)程websocket服務(wù)器
    $ws_connection = new AsyncTcpConnection("ws://echo.websocket.org:80");
    // 連上后發(fā)送hello字符串
    $ws_connection->onConnect = function($connection){
              for($i=0;$i<100;$i++) {
                   $connection->send('hello');
              }
    };
    // 遠(yuǎn)程websocket服務(wù)器發(fā)來消息時(shí)
    $ws_connection->onMessage = function($connection, $data){
        echo "recv: $data\n";
    };
    // 連接上發(fā)生錯(cuò)誤時(shí),一般是連接遠(yuǎn)程websocket服務(wù)器失敗錯(cuò)誤
    $ws_connection->onError = function($connection, $code, $msg){
        echo "error: $msg\n";
    };
    // 當(dāng)連接遠(yuǎn)程websocket服務(wù)器的連接斷開時(shí)
    $ws_connection->onClose = function($connection){
        echo "connection closed\n";
        $connection->reConnect(1);     //**_首次實(shí)例化connect無問題,重連觸發(fā)==Sec-WebSocket-Accept not found.**_
    };
    // 設(shè)置好以上各種回調(diào)后,執(zhí)行連接操作
    $ws_connection->connect();
};
Worker::runAll();
5138 2 0
2個(gè)回答

maq

onConnect 的時(shí)候,WebSocket 握手尚未完成,不要在這里發(fā)送數(shù)據(jù)。應(yīng)用層的通信應(yīng)該在 onWebSocketConnect 之后才能開始。

  • akmao 2018-05-07

    把workerman作為Websocket客戶端,AsyncTcpConnection可以讓W(xué)orkerman作為客戶端向遠(yuǎn)程服務(wù)端發(fā)起異步連接,并通過send接口和onMessage回調(diào)異步發(fā)送和處理連接上的數(shù)據(jù)。針對(duì)您所說的,對(duì)比官方示例http://doc3.workerman.net/worker-development/__construct.html;然后自測(cè)了一下,問題還是存在。

walkor 打賞

測(cè)試了下這個(gè)腳本,沒發(fā)現(xiàn)所說的Sec-WebSocket-Accept not found問題

  • akmao 2018-05-07

    我在onConnect里面,調(diào)用循環(huán)訂閱多個(gè)ch, 有多個(gè)$connection->send(),難道是這個(gè)影響了?

  • akmao 2018-05-07

    腳本已經(jīng)更新

  • walkor 2018-05-07

    更新的腳本出現(xiàn)很多未定義變量,腳本請(qǐng)先自行測(cè)試下能否重現(xiàn)你的問題再貼出來吧,這樣大家都節(jié)省時(shí)間,也是對(duì)其它想幫助你的人的一種尊重。

  • akmao 2018-05-07

    @1:里面其實(shí)就是一個(gè)循環(huán),訂閱了N多頻道

年代過于久遠(yuǎn),無法發(fā)表回答
??