4

SignalR 与 WebProxy 或 WAN 加速器是否存在任何已知问题或不兼容?

我正在考虑将这项技术用于将在许多不同的网络拓扑和设备中使用的东西

4

1 回答 1

1

任何问题或不兼容性不一定是 SignalR 本身的结果,而是在 HTTP 客户端和服务器之间打开双工通信通道的一般机制(即技术范围又名“彗星”)。

如果客户端和服务器都支持 SignalR,则 SignalR 旨在使用 Websocket(值得一提的是,Websocket 规范目前处于候选推荐中,因此尽管已经接近,但尚未最终确定)。这意味着客户端和服务器之间的代理也将支持它。

如果客户端、服务器和中间的代理不支持 Websocket,则 SignalR 将尝试回退到服务器发送事件,然后如果不支持 SSE,则进行长轮询。

重要的问题是这些技术通常依赖于以某种方式保持打开的持久连接。您的代理/加速器很可能会认为它们效率低下,如果数据没有流过它们,则将它们关闭;在这种情况下,SignalR 客户端将按设计再次打开连接,但代价是再次建立连接所花费的时间。

您可能能够配置您的代理来检查已打开的连接类型,以及它是否可能是与 SignalR 端点的连接,以使其在关闭连接方面不那么激进。

于 2012-02-26T23:43:52.203 回答