回答
的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