【发布时间】:2012-02-08 03:37:11
【问题描述】:
SignalR 与 WebProxy 或 WAN 加速器是否存在任何已知问题或不兼容?
我正在考虑将这项技术用于将在许多不同的网络拓扑和设备中使用的东西
【问题讨论】:
标签: networking proxy signalr wan webproxy
SignalR 与 WebProxy 或 WAN 加速器是否存在任何已知问题或不兼容?
我正在考虑将这项技术用于将在许多不同的网络拓扑和设备中使用的东西
【问题讨论】:
标签: networking proxy signalr wan webproxy
任何问题或不兼容性不一定是 SignalR 本身的结果,而是在 HTTP 客户端和服务器之间打开双工通信通道的一般机制(即技术范围又名“彗星”)。
SignalR 被设计为在客户端和服务器都支持的情况下使用 Websocket(值得一提的是,Websocket spec 目前处于候选推荐中,因此虽然已经接近,但尚未最终确定)。这意味着客户端和服务器之间的代理也将支持它。
如果客户端、服务器和中间的代理不支持 Websocket,则 SignalR 将尝试回退到服务器发送事件,然后如果不支持 SSE,则进行长轮询。
重要的问题是这些技术通常依赖于以某种方式保持打开的持久连接。您的代理/加速器很可能会认为它们效率低下,如果数据没有通过它们流式传输,则将它们关闭;在这种情况下,SignalR 客户端将按设计再次打开连接,但代价是再次建立连接所花费的时间。
您也许可以配置代理来检查已打开的连接类型,以及它是否可能是到 SignalR 端点的连接,以降低关闭连接的积极性。
【讨论】: