使用C#TCP信道的双向通信

时间:2009-05-14 11:23:20

标签: c# networking tcp remoting genuinechannels

是否有本机方式来实现Genuine Channels(http://www.genuinechannels.com)组件提供的功能?本质上,它提供与.net远程处理组件相同的功能,唯一的区别是.net远程处理是单向的。我正在寻找一些东西,作为客户端,我可以连接到服务器,然后将消息传递到服务器,然后让服务器能够将消息传递给客户端(无论何时服务器需要,而无需客户端调用功能)。

感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

WCF通过TCP作为标准的旁路支持。

(当WCF通过TCP进行单向通道时,来自一端的消息可以阻止来自另一端的消息。这是因为WCF旁路通道只允许两端发送消息,它不会创建两个独立的消息。通过单个TCP套接字的通道。)

然而,WCF没有通过单个 HTTP连接和WCF bydirectional HTTP surport does not cope with firewalls进行双向支持。

答案 1 :(得分:1)

您必须切换客户端和服务器的角色(即正在监听和写入的人),或者您可以在同一端口上打开第二个套接字以提供客户端的服务器。您的客户端服务器将侦听来自您调用服务器的消息,然后[引发事件|队列|进程]收到的消息。