在网络上使用 NetNamedPipe?
我们正在构建一个启动/停止其他进程的窗口服务,UI 和服务之间的通信是通过 NetNamedPipe 进行的。
每个进程都有一个可以获取关闭调用的主机(仍然使用 NetNamedPipe 以避免端口交叉)。
我在我的计算机上使用了它,当我将它移动到服务器时它不起作用(NetNamedPipe 不适用于跨网络 - 现在我知道了)。
有什么办法可以正确地做到这一点吗?
We are building a window service that starts/stops other processes, and the communication between the UI and the service is with NetNamedPipe.
Every process have a host that can get shutdown call (still with NetNamedPipe in order to avoid port cross).
I have used it on my computer and when I moved it to the server it didn't work (NetNamedPipe is not for cross network - now I know).
Is there any way to do this right?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果这要在本地网络上运行,我建议使用 WCF 服务上的 TCP 端点来连接,而不是命名管道端点。
If this is going to run on the local network, I would suggest using a TCP endpoint on your WCF service to connect to instead of the Named Pipe endpoint.
对于 .Net 到 .Net 通信,最好使用 NetTcp。当混合技术(例如.Net 到 COM / Java)时,或者当防火墙阻止您的通信时,您可以使用 Http。
因此,仅当有理由不使用 NetTcp 时才使用 Http。
For .Net - to - .Net communication, it's best to use NetTcp. You would use Http when mixing technologies (.Net to COM / Java, for instance), or when a firewall would otherwise block your communication.
So Http is what you use only if there are reasons not to use NetTcp.