0

所以我过去曾修改过 WCF,而且我知道您不仅可以将它用于 Web 服务,还可以用于持久的 TCP 客户端/服务器应用程序,但我从未真正将它投入使用。

我正在研究为 .NET 创建一个将在本地运行的客户端/服务器应用程序,即服务器和多个客户端都将在同一台机器上运行。不会有大量的同时连接,最多可能有 50 个。每个请求传输的数据量不会很多,主要是 40-100 字节左右的小对象。不过,会有很多不同的对象类型,所以我更喜欢使序列化变得简单的解决方案。

最大的担忧是我需要快速连续地来回发送许多数据包,而且我无法承受太多的延迟。理想情况下,我需要一个 100 字节数据包的往返时间小于 1 毫秒(假设没有使用处理时间来处理服务器上的数据)。

我知道这对于基于 Winsock/IOCP 的本机解决方案是可能的,因为我有一个适用于另一个项目的解决方案,但我不知道这是否是 WCF 可以处理的,因为我不知道涉及多少处理开销在每个请求/响应中,或者它使用什么样的异步 IO。

那么,您认为 WCF 可以解决这个问题,还是我需要创建一个基于套接字的低级解决方案?

4

1 回答 1

2

是的,使用 NamedPipes 进行进程间全双工通信。非常快并且不会超过 tcp。仅当一切都在同一台机器上运行时才有效。

这篇文章应该有所帮助。

于 2013-10-12T01:31:16.797 回答