我正在开发一个页面,需要能够根据服务器的状态保持更新。
我喜欢 websockets,因为它们为我提供了一种从服务器推送消息的方式,但可用性是一个问题。
我需要通用的方式在网络服务器和浏览器客户端之间进行双向通信。
我希望能够在我的服务器上容纳大量客户端,因此忙于等待客户端不是一个好的解决方案。
我看过长池,但这就像忙于等待客户端部分一样——如果我需要 IE 支持,这是唯一的方法吗?
这个问题仅与交易的客户端有关。
我正在开发一个页面,需要能够根据服务器的状态保持更新。
我喜欢 websockets,因为它们为我提供了一种从服务器推送消息的方式,但可用性是一个问题。
我需要通用的方式在网络服务器和浏览器客户端之间进行双向通信。
我希望能够在我的服务器上容纳大量客户端,因此忙于等待客户端不是一个好的解决方案。
我看过长池,但这就像忙于等待客户端部分一样——如果我需要 IE 支持,这是唯一的方法吗?
这个问题仅与交易的客户端有关。
您需要双向通信吗?如果不是,您应该使用SSE(服务器发送事件)。它们也更容易在 IE 中模拟(因为 SSE 实际上在旧系统上优雅地降级为长轮询)。
是的,你是对的,长轮询存在问题,它往往会消耗大量资源。
您需要的是我可以看到的解决方案,该解决方案具有回退到 HTTP longopolling 的老而不是 Websockets API 的浏览器。SSE 是一种替代方案,但 Websockets 感觉更方便
如果您在 .NET 平台上运行 XSockets.NET 可以作为替代方案,它支持 Websockets(RFC6544 和 Hybi00)并在需要时回退 HTTP Longpolling(即 IE)
您查看过http://signalr.net/吗?基于 websockets,但会优雅地降级到最近的可用组件以支持套接字类型连接。
文档可以在这里找到:https ://github.com/SignalR/SignalR/wiki