【发布时间】:2010-02-04 20:27:31
【问题描述】:
我正在努力让一个 .NET(不是 WCF)命名管道通过网络进行通信。 MSDN documentation 暗示这是可能的,不是微不足道的。但我的代码:
using (NamedPipeClientStream pipeClient = new NamedPipeClientStream(servername, "myPipe", PipeDirection.InOut, PipeOptions.None, TokenImpersonationLevel.Impersonation))
... 当 servername="localhost" 和管道服务器在同一个盒子上时效果很好。但如果它是另一台机器——无论我是否将 servername 设为 IP 地址、DNS 名称、NetBIOS 名称、UNC 路径等——都意味着管道永远不会连接。它实际上并没有失败, pipeClient.Connect() 只是坐在那里。
在各种论坛、博客和网站上有很多关于此的不同且相互矛盾的帖子。谁能直截了当地告诉我:如何让命名管道客户端从一台机器上的一个 C# 应用程序连接到另一台机器上运行的命名管道服务器?
【问题讨论】:
-
现在在网络上使用名称管道并不常见,这并不是说它们不起作用。
标签: c# .net networking pipe