2011-12-22 53 views
1

我需要通过套接字将网站与现有系统连接。 基本上我需要连接到套接字,保持它打开,并获得通过网站的所有数据。使用基于实时套接字的数据创建网页

我正试图找到一种可扩展的方式来实现这一目标。 我的第一个想法是,我可以使用Comet或Socket.IO从Web服务器获取数据到Web客户端。但服务器是ASP.Net,我不相信我可以在ASP.Net中为每个用户打开一个长期的套接字连接。

理想情况下,我希望客户端浏览器打开并维护自己的与数据源的套接字连接。我找不到办法做到这一点。这甚至有可能吗?

我可以使用任何建议,因为我很困扰这个问题。

谢谢!

+2

我还没有使用它,但它听起来像SignalR https://github.com/SignalR/SignalR – 2011-12-22 21:29:49

回答

3

正如Paul在评论中所建议的,SignalR是一个很好的解决方案。下面是ASP.NET兼容的解决方案的完整列表:

还有其他self hosted realtime web technologies但你需要你的ASP.NET应用程序之间的接口以某种方式实时Web服务器(队列或WebHooks)。

另一种选择是使用我为之工作的托管服务,如Pusher。托管服务承担了维护持久连接的压力,并扩展了解决方案的实时消息传递方面。

1

如果您正在寻找一个纯粹的套接字客户端/服务器实现,那么我建议尝试一下WebSockets,但不幸的是,它仅支持HTML5浏览器。

你也许会看看NodeJS,但我没有太多的成功。

如果你认为你可以

  • 发送一再要求IIS每隔几秒钟
  • 客户端等待来自服务器的响应异步
  • 服务器发送一些数据(不管你需要推动到客户端)
  • 客户端收到响应,

然后IAsyncHttpHa ndler就是答案。