回答
的Windows有兩種管道:匿名管道和命名管道。匿名管道與Unix管道(相當)密切相關 - 典型的用法是讓父進程將它們設置爲由子進程繼承,通常連接到子進程的標準輸入,輸出和/或錯誤流。有一次,匿名管道與命名管道完全不同,所以他們沒有(例如)支持重疊的I/O。從那以後,這種情況發生了變化,因此匿名管道基本上只是一個名稱不明的名稱管道,因此無法通過名稱打開它,但它仍具有命名管道的所有其他功能(例如前述重疊的I/O能力)。
的Windows命名管道被更像插座。它們起源於OS/2,它們最初是創建客戶機/服務器應用程序的主要機制。它們最初是圍繞NetBIOS構建的(即使用NetBIOS進行尋址和傳輸)。它們與Windows身份驗證等緊密集成,因此您可以(例如)使用命名管道服務器模擬客戶端,以限制服務器執行客戶端直接登錄時可以執行的操作。最近,MS爲了擺脫對NetBIOS的依賴而陷入了一些麻煩,但即使他們現在可以使用IP作爲它們的傳輸(以及用於尋址的DNS,IIRC),它們仍然主要用於Windows機器。其他機器上的主要用途是模仿Windows,比如通過運行Samba。
(關我的頭的頂部)
管:具有在一端具有小碗的管;用於菸絲
插槽:插座,其中一些(骨的管,探針或端)被插入
反正:
「管道和 插座之間的一個主要區別是管道需要一個共同的 父進程來設置通信通道。套接字之間的連接 可以由兩個不相關的進程建立,可能在不同的機器上駐留 。
大聲笑,但它不是編程相關.. – wamp 2010-08-19 03:55:35
@VoodooChild:羞恥:) – 2010-08-19 03:55:40
這是命名事情的麻煩,這很難。在Windows環境中,「命名管道」更像是一個套接字,用於將客戶端連接到不同機器上的服務器。 – 2010-08-19 04:06:13
(從http://www.perlmonks.org/?node_id=180842無恥那兒剽竊)
管道是快速和可靠的,因爲它們是在存儲器中實現的單個主機其中兩個通信的進程運行。套接字速度較慢,可靠性較差,但它們更靈活,因爲它們允許不同主機上的進程之間進行通信。
管道還允許不同主機之間的通信。請注意,它被標記爲[Windows],所以我們在討論Windows管道,而不是Unix管道。 – 2010-08-19 04:20:13
一根管子可以多次使用嗎?正如在本文中,在我看來,一個管道只能使用一次(一旦使用就會關閉):http://msdn.microsoft.com/en-us/library/aa365588%28v=VS.85%29。 aspx – wamp 2010-08-19 04:21:01
@Jerry - true - 一旦發生這種情況(機器間通信),管道和套接字之間是否有很大區別,至少在速度方面? – 2010-08-19 06:39:03
套接字將使用某種形式的IP協議如TCP/IP或UDP的,因而會比較慢,但是你的code'd是更便攜,如果你需要通過網絡進行通信。還有第三個共享MEM方法,並提出馬赫端口(在這種情況下,我不知道它會在Windows工作)
他們都做同樣的功能,唯一的區別是,管道是因爲他們最接近的更有效人們可以到互聯網的準系統。套接字是建立在一系列管道(管道)之上的抽象,因此它們速度較慢(就像java比本地彙編代碼一樣慢)。
- 1. 插座和襪子有什麼區別?
- 2. UIView插座和ChildViewController有什麼區別?
- 3. 什麼是插座,管道和設備?
- 4. 插座連接和動作連接有什麼區別?
- 5. 什麼是更好的方法:1管道和1插座,或1插座?
- 6. CSS選擇器中管道和帽符號有什麼區別?
- 7. ASP.NET4和ASP.NET5 Http管道之間有什麼區別?
- 8. 管道和消息隊列之間有什麼區別?
- 9. 工廠和管道設計模式有什麼區別?
- 10. Windows和Linux管道之間有什麼區別?
- 11. 託管C++和C#有什麼區別?
- 12. 插件和庫有什麼區別?
- 13. 寶石和插件有什麼區別?
- 14. PhoneGap插件和addJavascriptInterface有什麼區別?
- 15. 寶石和插件有什麼區別?
- 16. 插座之間的管道
- 17. 有什麼區別`和$(Bash中有什麼區別?
- 18. ==和===有什麼區別?
- 19. ==和===有什麼區別?
- 20. 有什麼區別? :和||
- 21. ==和===有什麼區別?
- 22. '=='和'==='有什麼區別?
- 23. `&`和`ref`有什麼區別?
- 24. 有什麼區別:。!和:r!?
- 25. | 0和~~有什麼區別?
- 26. Appender和〜有什麼區別?
- 27. Perl中的系統和反引號和管道有什麼區別?
- 28. 託管和非託管DLL之間有什麼區別
- 29. 託管的jQuery插件與npm包有什麼區別?
- 30. xtype和別名有什麼區別?
主題聽起來像一個惡意的玩笑 – 2010-08-19 03:56:34
所以給我們的衝壓生產線的開始! – peterchen 2010-08-19 06:39:29