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

關(guān)于 onConnect 和 onWebsocketConnect 代碼執(zhí)行順序,還請(qǐng)作者詳細(xì)說(shuō)一下,謝謝!

小七他哥

代碼如下:

$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'])) {
            //第一次關(guān)閉鏈接
            $connection->close("\r\n");
            return false;
        }

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

現(xiàn)在的問題是每個(gè)鏈接進(jìn)來(lái),都是在第二次關(guān)閉鏈接這個(gè)地方被關(guān)閉了鏈接,給我的感覺是代碼會(huì)先執(zhí)行A分割線下面的代碼,然后再去執(zhí)行 onWebSocketConnect 回調(diào)里面的代碼,只能自己打標(biāo)記一步步的測(cè)試了,希望作者能回復(fù)一下,如果是我說(shuō)的這樣,應(yīng)該在文檔里面特意說(shuō)明一下,這里有點(diǎn)反常啊,竟然不按代碼順序執(zhí)行。

2467 2 0
2個(gè)回答

jis

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

phpcreeper

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

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