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

關于 onConnect 和 onWebsocketConnect 代碼執(zhí)行順序,還請作者詳細說一下,謝謝!

小七他哥

代碼如下:

$worker->onConnect = function (\Workerman\Connection\TcpConnection $connection) {
    $connection_ip = $connection->getRemoteIp();

    $connection->onWebSocketConnect = function ($connection, $http_header) use ($connection_ip) {
        if (!isset($_GET['sid']) || !isSid($_GET['sid'])) {
            //第一次關閉鏈接
            $connection->close("\r\n");
            return false;
        }

        $connection->sid = $_GET['sid'];
    };
---------A---------------
    if (empty($connection->sid)) {
        //第二次關閉鏈接
        $connection->close("\r\n");
        return false;
    }
};

現在的問題是每個鏈接進來,都是在第二次關閉鏈接這個地方被關閉了鏈接,給我的感覺是代碼會先執(zhí)行A分割線下面的代碼,然后再去執(zhí)行 onWebSocketConnect 回調里面的代碼,只能自己打標記一步步的測試了,希望作者能回復一下,如果是我說的這樣,應該在文檔里面特意說明一下,這里有點反常啊,竟然不按代碼順序執(zhí)行。

2406 2 0
2個回答

jis

連接是先tcp三次握手,然后再websocket握手。
所以先執(zhí)行onConnect,再執(zhí)行onWebSocketConnect。如果你這種需要websocket握手后才能執(zhí)行的業(yè)務邏輯應該放在onWebSocketConnect回調里,不應該放在onConnect回調里。

phpcreeper

不要灌水啊兄弟,前面針對你的兩個專帖回復里都表述的很清楚:
本來執(zhí)行的順序就是這樣的、這和官方文檔是否標注沒有任何關系哈;你需要做的是好好理解下websocket協(xié)議的工作原理,至于想觀測數據包的傳輸過程、那就tcpdump下、看的是清清楚楚。

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