2010-10-26 46 views
0

我了解如何使用原始套接字来收听服务器应用程序并接收信息,但我需要一个易于访问的API,并且我对REST非常熟悉。
有没有办法(不使用长池)数据使用WCF服务?
这里是我的事情应该是如何发生的,至少在开始时的想法:原始套接字在Silverlight中收听REST通道

  1. 客户端访问URI与它的访问参数(IP,端口,apikey)。
  2. 服务器响应成功/失败。
  3. 服务器将为客户端的详细信息打开每个通道的套接字。
  4. 服务器访问指示所有通道正在流式传送的URI。

但是,我如何包装客户端或服务器套接字来访问一个URI?

编辑:
也许我应该打开一个套接字,通知有关通道上的更改,并在客户端要求它将监听并相应地提高事件。
这不是一个非常通用的解决方案吗?

回答

1

您应该查看Net.TCP绑定,如Tomek(WCF团队成员之一)here所述。您可以像使用HTTP双工绑定(即HTTP长轮询)那样使用它,但速度要快得多。它比REST更复杂,但它比套接字要容易得多,我认为你不会找到一种能满足你需要的REST类型的解决方案。

+0

如果我有一个C++服务器,Net.TCP绑定仍然工作吗? – 2010-11-14 16:23:51

+0

只有当你使用C++来实现一个WCF服务器时,这是可能的,但我真的无法想象要做到这一点。如果你需要从Silverlight访问一个C++服务器,我必须想象你真的想通过原始套接字来完成它。与WCF相比,它是一个PITA,但它当然有可能。 – 2010-11-15 08:12:53