C# 基于TCP的WCF双工服务与Socket

C# 基于TCP的WCF双工服务与Socket,c#,wcf,sockets,C#,Wcf,Sockets,我正在从事一个项目,包括WCF服务器和远程客户端。现在,软件的必要功能部分需要将消息从服务器推送到指定的客户端 我知道Socket可以实现这一点,但我只想使用WCF。所以我找到了关于WCF双工服务的文档。以下是我的想法: 我启动了一个新线程,它只与双工服务通信一次 然后等待服务器的回调 活动并让代理打开以等待回调) 在服务器端,我将所有客户机的callbackInstance保存在一个列表中,一旦我想在指定的客户机上调用callback,我将从列表中取出callbackInstance并调用ca

我正在从事一个项目,包括WCF服务器和远程客户端。现在,软件的必要功能部分需要将消息从服务器推送到指定的客户端

我知道Socket可以实现这一点,但我只想使用WCF。所以我找到了关于WCF双工服务的文档。以下是我的想法:

  • 我启动了一个新线程,它只与双工服务通信一次 然后等待服务器的回调 活动并让代理打开以等待回调)
  • 在服务器端,我将所有客户机的callbackInstance保存在一个列表中,一旦我想在指定的客户机上调用callback,我将从列表中取出callbackInstance并调用callback方法
  • 问题

  • 我的想法可行吗
  • 如果问题1为“是”,则如何检测客户端是否仍处于活动状态(防止在关闭的客户端代理上调用回调)
  • 这是我们可以在WCF服务中替换套接字的东西吗? 非常感谢
  • 一切都是可行的。。。这都是一个你知道什么,涉及什么,你有多少时间/金钱的问题

  • 我对双工WCF没有太多的研究,因为我必须在Web服务中使用一种方法,但另一种方法是使用像XSockets这样的框架。它的版本4是beta-ATM,但是开发人员非常平易近人和活跃,所以如果你有任何问题,他们会很乐意工作的


  • 它将为您提供一对一或一对多的双向实时通信,并且可能适合您的用例

    XSockets似乎对我很有吸引力,我会试试看。谢谢,Noctis,你写的文章**了解SelectedValue,SelectedValuePath…**帮我省了一天,也省了我的睡眠。很高兴听到这有帮助,我希望你能投票通过;)Signal-R是另一个类似的解决方案,但当我研究它时,我发现XSockets对于我的场景是一个更好的选择。