爲什麼命名管道對於本地Windows機器上的UDP更適用於IPC(進程間通信)?或UDP有時可能會更好?命名管道與Windows上IPC的UDP對比
回答
即使在本地主機上的UDP數據包也可能丟失。而且,由於UDP是基於數據報的並且沒有保證的傳送,所以很難傳送更大的數據塊。最後,localhost上的UDP有時被瀏覽器阻止。一般來說,UDP通常不被考慮用於單電腦IPC。
在Windows上,我推薦使用內存映射文件+同步原語作爲最快也可能是最簡單的方法。命名管道通常在您管理它們工作時運行良好,但我在這裏看到很多關於如何使命名管道工作的問題(我還沒有看到關於MMF的單一投訴)。
我們有一個產品MsgConnect,它提供基於套接字,UDP和MMF的傳輸,適用於本地或跨網絡的IPC,所以我對此主題有實際經驗。命名的管道被認爲是支持的,但隨後這個想法被拋棄,轉而採用其他機制。
非常感謝您的回答! – MajesticRa
對於IPC而言,命名管道比存儲器映射文件簡單可靠,更靈活。命名管道功能內置於.NET環境中,易於使用。命名管道允許您將服務器或客戶端移動到網絡上的任何其他計算機。有了內存映射文件,您必須管理同步,如果您決定需要將客戶端或服務器移動到另一臺計算機,則必須從頭開始重寫IPC代碼。 –
- 1. 命名管道與IPC的COM對比
- 2. 命名管道IPC
- 3. IPC安全命名管道
- 4. Qt IPC - 命名管道
- 5. IPC vs域襪子與命名管道
- 6. 在Windows中命名管道與TCP JDBC-MySQL的對比
- 7. 在Windows上命名管道
- 8. 與Windows上的本地主機IPC上的命名管道相比,TCP套接字有多慢?
- 9. 在Windows/Mac/Linux上的命名管道?
- 10. python與IPC和子進程命名管道混亂
- 11. Windows命名管道無效
- 12. WINE和Windows命名管道
- 13. Windows 7中命名管道
- 14. 使用Windows命名管道與ffmpeg管道
- 15. Postgres在Windows上與命名管道的ODBC連接
- 16. 用於使用JNI的Windows'命名管道的Java程序的IPC
- 17. 管道命令到Windows上
- 18. 節約IPC管道傳輸(Windows)
- 19. IPC的性能:命名管道VS套接字
- 20. 使用管道命令與Windows上的/ f(與reg查詢)
- 21. 在實踐中Windows命名管道
- 22. C++使用Windows命名管道
- 23. 在Windows中枚舉命名管道
- 24. Windows 8命名管道創建
- 25. 在bash中命名管道比普通管道更快嗎?
- 26. C#對象+命名管道+ C++對象
- 27. Windows上的低吞吐量通過WAN命名的管道
- 28. 用於與Windows命名管道進行通信的程序
- 29. 在Windows上存儲了一個命名的管道文件?
- 30. 從命名管道
TCP很好,不可靠的傳輸機制對IPC沒有用處。 –
請你能解釋一下你的意思嗎? – MajesticRa
你首先解釋你爲什麼要使用UDP。 –