通过网络连接.NET命名管道

时间:2017-01-31 17:38:06

标签: c# network-programming named-pipes

我已经使用命名管道在本地进程之间进行通信,现在我正在尝试通过网络连接到另一台计算机。据我所知,我唯一需要改变的是来自

的NamedPipeClientStream构造函数
NamedPipeClientStream(".", "MyPipe", PipeDirection.InOut,PipeOptions.Asynchronous);

NamedPipeClientStream("xxx.xxx.xxx.xx", "MyPipe" + _name, PipeDirection.InOut, PipeOptions.Asynchronous);

所以我这样做但是我一直收到一个System.IO.IOException,告诉我网络地址无法访问(不知道确切的英文消息,我的操作系统是德语)。

我知道之前已经提出了类似的问题,我找到的解决方案是:

  • Windows防火墙阻止管道 - >我在两台计算机上禁用了防火墙
  • LanmanWorkstation和LanmanServer必须运行 - >我确认,两台都在两台计算机上运行
  • 管道过滤器可能阻塞管道 - >我使用this指南确认没有启用过滤器,然后还尝试设置" PipeFirewallActive"值为0.
  • 我还通过ping其他计算机确保连接正常 It's german but I hope you can still tell what is meant

这些都不幸地解决了我的问题。对于网络来说,我是一个绝对的菜鸟,所以像错误的IP地址一样简单可能是我犯的错误,但命名管道实现在本地工作,所以不应该成为问题。

如果您需要更多信息,我会提供。我只是不知道还有什么要补充。

0 个答案:

没有答案