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

WebSocket connection to ' ws://0.0.0.0:19999/' failed: Invalid frame header

sky123

客戶鏈接服務(wù)器的時候,第一次可以正常連上weboskcet,但是連上一會兒后會返回invalid frame header,客戶端進(jìn)行重連也一直是返回這個是什么問題。

創(chuàng)建webscoket代碼

$worker = new Worker('websocket://0.0.0.0:19999');

$worker->count = 1;

$worker->onWorkerStart = function ($worker){

    $inner_text_worker =newWorker('text://0.0.0.0:10002');
    $inner_text_worker->onMessage=function($connection,$buffer){
        broadCast($buffer);
        $connection->send('ok');        //像發(fā)送消息的客戶端回消息
    };
    $inner_text_worker->listen();
};

接收信息的代碼

 $worker->onMessage = function ($connection, $data){
    global $worker;
    // 判斷當(dāng)前客戶端是否已經(jīng)驗證,既是否設(shè)置了uid
    if(!isset($connection->uid))
    {
        // 沒驗證的話把第一個包當(dāng)做uid(這里為了方便演示,沒做真正的驗證)
        $connection->uid = $data;

        $url "http://127.0.0.1/admin_api/Member/setOnlie";
        $dataList["id"] = $connection->uid;
        $dataList["online_status"] = 1;
        $list = send_post($url,$dataList);
        $worker->uidConnections[$connection->uid] =                 $connection;
        $connection->send($data);
        return;
    }
    else if($data == "ping")
    {
        echo "ping的連接id:  ".$connection->uid."  時間:".date("Y-m-d H:i:s")."\n";
        sendMessageByUid($connection->uid,"ping");
    }
    return;
};

關(guān)閉連接代碼

     $worker->onClose = function ($connection){
     global $worker;
    if(isset($connection->uid)){

      $url "http://127.0.0.1/admin_api/Member/setOnlie";                    
        $dataList["id"] = $connection->uid;
        $dataList["online_status"] = 0;
        $list = send_post($url,$dataList);
        unset($worker->uidConnections[$connection->uid]);
    }
};
10495 2 0
2個回答

sky123

// 初始化一個worker容器, 監(jiān)聽19999端口, 用于接收瀏覽器websocket請求
$worker = new Worker('websocket://0.0.0.0:19999');

$worker->count = 1;
// worker進(jìn)程啟動后創(chuàng)建一個text Worker以便打開一個內(nèi)部通訊端口
$worker->onWorkerStart = function ($worker){
    // 開啟一個內(nèi)部端口,方便內(nèi)部系統(tǒng)推送數(shù)據(jù),Text協(xié)議格式 文本+換行符
    $inner_text_worker = new Worker('text://0.0.0.0:10002');
    $inner_text_worker->onMessage = function ($connection, $buffer){
        broadCast($buffer);
        $connection->send('ok');        //像發(fā)送消息的客戶端回消息
    };
    $inner_text_worker->listen();
};

這個是創(chuàng)建連接的代碼
  • 暫無評論
six
WebSocket connection to ' ws:// xxxx. com/' failed: Invalid frame header

沒看到連接的端口19999啊。

  • sky123 2020-04-08

    那個報錯信息是測試服務(wù)器上的。我本地沒有出現(xiàn)過這個問題,但是放到測試服務(wù)器上的話就會出現(xiàn)這個問題。

  • six 2020-04-09

    看下測試服務(wù)器是不是啟動了多個workerman,ps auxf

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