http協(xié)議的worker是程序的主worker。在主worker的onworkerstart事件里new了一個ws協(xié)議的worker
?腳本配置的線程數(shù)為1,http請求執(zhí)行任務時間比較長(具體業(yè)務就是向已經(jīng)連接了的ws發(fā)送信息并監(jiān)聽ws的onmessage等待返回,然后把ws的返回響應給http請求)
?
測試過程發(fā)現(xiàn),ws返回的數(shù)據(jù)并不總是能和http請求的數(shù)據(jù)對應,還有時候ws的返回不能成功發(fā)送給http
?
分析代碼后明白ws返回的數(shù)據(jù)本身是需要判別,對應到請求上。而第二個問題,HTTP請求并發(fā)而導致http請求丟失是我依然無法解決的。
不知道是我的寫法有問題還是業(yè)務邏輯有問題,希望有經(jīng)驗的大佬點撥一下。
?
附上代碼,重點在$http_worker->onMessage