如果我發送請求(幀)B並接收響應,同時我已經在等待前一個請求(A)的響應,那麼B任務中接收到的響應實際上是A請求的響應:如何同步客戶端的發送幀和接收幀?
request A sent
request B sent
request B processed (quick)
response B sent
response B received (*)
...
request A processed (slow)
response A sent
response A received
隨着天真匹配,我會得到點(*)匹配請求 - 響應B.
那麼如何將它們同步?即我想以響應A結束請求A,並且無論處理每個請求需要多長時間,都請求B響應B.記錄我使用經銷商路由器插座。
我在考慮創建池請求(Dictionary
),任務完成令牌綁定到發送的每個請求。任務會在池中創建新插槽,發送請求並等待完成。在後臺,任務一直在運行 - 接收者 - 它只是接收響應,將每個響應放在適當的時隙中,並將給定的任務令牌設置爲完成。我在正確的軌道上,我錯了,還是已經在NetMQ中實施?
謝謝,我正在想這個解決方案。 – astrowalker