Named Pipe(命名管道)

本文详细解析了命名管道与TCP/IP在局域网环境中的应用与性能差异,着重讨论了它们在不同网络条件下的表现,并提供了在选择合适通信协议时的关键考虑因素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近看协议的时候读到了named pipe这个词,有些陌生,所以总结并记录一下

与TCP/IP(传输控制协议或internet协议)一样,命名管道是一种通讯协议。它一般用于局域网中,因为它要求客户端必须具有访问服务器资源的权限。

Named Pipes 是为局域网而开发的协议。内存的一部分被某个进程用来向另一个进程传递信息,因此一个进程的输出就是另一个进程的输入。第二个进程可以是本地的(与第一个进程位于同一台计算机上),也可以是远程的(位于联网的计算机上)。

要解释这个问题,摘录些微软官方资料

http://msdn.microsoft.com/zh-cn/library/ms187892.aspx

ps:其实在微软官方资料中也有很多错误出现:)

在快速局域网 (LAN) 环境中,传输控制协议或 Internet 协议 (TCP/IP) 套接字客户端和命名管道客户端在性能方面不相上下。但是,网络速度越慢(如在广域网 (WAN) 或拨号网络上),TCP/IP 套接字客户端与命名管道客户端的性能差异越明显。这是因为进程间通讯 (IPC) 机制在对等项间的通讯方法不同。

  对于命名管道,通常网络通信交互性更强。一个对等项直到另一个对等项使用读取命令请求数据时才发送数据。在开始读取数据前,网络读取一般包括一系列窥视命名管道的信息。这在慢速网络中可能花费非常多并导致过多的网络流量,其它的网络客户端反过来也会受到影响。

阐明所讨论的是本地管道还是网络管道也很重要。如果服务器应用程序在运行 Microsoft® SQL Server® 2000 实例的计算机上本地运行,则可以选择本地命名管道协议。本地命名管道以内核模式运行且速度非常快。

  对于 TCP/IP 套接字,数据传输的效率更高,开销也更少。数据传输还可以利用 TCP/IP 套接字性能增强机制的优点,如开窗口、延迟确认等,这在慢速网络中可能非常有益。对于应用程序的不同类型,这类性能差异可能非常大。

  TCP/IP 套接字还支持待办事项队列,当试图连接到 SQL Server 时,与可能导致管道忙错误的命名管道相比,该队列可以提供有限的平稳效果。

  一般情况下,套接字在慢速 LAN、WAN 或拨号网络中效果较佳,而当网络速度不成问题时命名管道则是更好的选择,因为其功能更强、易于使用且提供多种配置选项。

转载于:https://www.cnblogs.com/jin-bo/archive/2011/06/28/2092032.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值