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