目前我的客戶端上有兩個網絡接口。我創建了兩個獨立的套接字,它們綁定到每個接口ip。現在我也有兩臺服務器,每臺服務器與客戶端上的一個套接字進行通信。我希望能夠同時從兩個接口(目前使用UDP或DGRAMS)接收數據(現在〜10MB,但稍後會更大),但由於某些原因,總會有延遲,因爲它必須完成一個數據傳輸套接字,然後開始在另一個套接字上傳輸。Linux上的Python網絡編程 - 在客戶端同時使用兩個網絡接口?
我已經確認綁定每個接口是成功的,我可以在每個套接字上與其各自的服務器進行通信。目前,我只是在相同的代碼塊中執行s1.recv()
和s2.recv()
。
所以我的問題是,是由於使用recv()
「阻塞」功能的延遲?同樣通過我的搜索,似乎有辦法讓函數暢通無阻?但我不確定如何去做這件事......而這會通過使用多線程來解決嗎?我多線程有點生疏,但如果它解決了我的問題,我會研究它。如果沒有,那麼我怎麼能夠利用這兩個接口,我能夠從兩個接口並行接收/發送?
如果有人可以協助,我將不勝感激。
你忘了提扭曲,這將爲你做這個難題。 :) –
我不知道扭曲,但它看起來很有趣。謝謝你的提示! :) – helmbert