用于客户端/服务器通信的命名管道或TCP

5 .net c# vb.net tcp named-pipes

我的应用程序支持同一服务器进程的多个实例(Windows服务),就像fe SQL Server一样.

客户端/服务器通信仅在同一网络中进行.

我可以使用TCP,但后来我必须为每个服务器实例配置单独的IP端口.但是,我可以简单地使用命名管道,因此我不必考虑端口号,只需使用服务器实例的名称.

不会有非常频繁和/或大数据的客户端/服务器通信.它是某种ERP应用程序,平均每30秒只能进行一次通信.

另外,我想阻止网络外的任何客户端/服务器通信(内联网).

这里明智的选择是什么?

更新:客户端和服务器都是使用.NET 4编写的,没有第三方客户端可以使用该服务器.

Teo*_*gul 4

我在几个个人项目中使用 .net 4.0 命名管道 ( System.IO.Pipes ),与它们合作非常愉快。您可以在整个 Intranet 中使用命名管道,并且性能非常好,因此我个人的建议是使用命名管道。

此外,.net 4.0 命名管道客户端利用底层 WinAPI,因此您还可以从 .NET 应用程序与本机应用程序进行通信。