5 .net c# vb.net tcp named-pipes
我的应用程序支持同一服务器进程的多个实例(Windows服务),就像fe SQL Server一样.
客户端/服务器通信仅在同一网络中进行.
我可以使用TCP,但后来我必须为每个服务器实例配置单独的IP端口.但是,我可以简单地使用命名管道,因此我不必考虑端口号,只需使用服务器实例的名称.
不会有非常频繁和/或大数据的客户端/服务器通信.它是某种ERP应用程序,平均每30秒只能进行一次通信.
另外,我想阻止网络外的任何客户端/服务器通信(内联网).
这里明智的选择是什么?
更新:客户端和服务器都是使用.NET 4编写的,没有第三方客户端可以使用该服务器.
我在几个个人项目中使用 .net 4.0 命名管道 ( System.IO.Pipes ),与它们合作非常愉快。您可以在整个 Intranet 中使用命名管道,并且性能非常好,因此我个人的建议是使用命名管道。
此外,.net 4.0 命名管道客户端利用底层 WinAPI,因此您还可以从 .NET 应用程序与本机应用程序进行通信。