使用AsyncTcpConnection連接遠(yuǎn)程wss服務(wù)器,功能已經(jīng)調(diào)試正常,但在
$conn->connect();
這一行上,耗時(shí)在14秒左右。文檔說該方案應(yīng)該立即返回,不知道我哪里沒做對(duì)。
初始化、設(shè)置回調(diào)事件等略,最后發(fā)起連接:
echo "發(fā)起連接,開始于", date("Y-m-d H:i:s") ,PHP_EOL;
$conn->connect();
echo "連接成功,成功于", date("Y-m-d H:i:s"), PHP_EOL;
這是輸出截圖:
測試了多次,時(shí)間穩(wěn)定在14秒
按照文檔使用 ws:// 開頭的地址初始化了AsyncTcpConnection;
設(shè)置了 $conn->transport = 'ssl';
在 onWebSocketConnect 事件中發(fā)送消息;
在 onMessage 事件中處理數(shù)據(jù);
最后用 connect() 發(fā)起連接。
一切都正常,唯一的問題就是 connect() 耗時(shí)太長。
win10 wsl ubuntu 20.04
apt-get 安裝的 php7.4.3
Workerman version:4.1.9
相關(guān)代碼在 webman 的自定義進(jìn)程中運(yùn)行。