servicestack,server-sent-events,Websocket,servicestack,Server Sent Events" /> servicestack,server-sent-events,Websocket,servicestack,Server Sent Events" />

ServiceStack:通过WebSocket选择服务器发送的事件

ServiceStack:通过WebSocket选择服务器发送的事件,websocket,servicestack,server-sent-events,Websocket,servicestack,Server Sent Events,正在查看最新的发行说明,其中提到了新的SSE功能。这项功能无疑是非常棒的,而且似乎与浏览器相反 我对所有这些都不熟悉,但WebSocket似乎是最佳方式,因为它是双向的,而SSE只是浏览器的单向。另外,IE不支持SSE,但在最近的两到三个版本中支持WebSocket 我只是想知道为什么选择SSE而不是WebSocket。支持服务器发送事件的原因是: (SSE)是从任何HTTP服务器高效地接收推送通知的一种优雅工具。它可以被认为是长轮询和单向WebSocket的混合体,每种方式都有许多好处: 简

正在查看最新的发行说明,其中提到了新的SSE功能。这项功能无疑是非常棒的,而且似乎与浏览器相反

我对所有这些都不熟悉,但WebSocket似乎是最佳方式,因为它是双向的,而SSE只是浏览器的单向。另外,IE不支持SSE,但在最近的两到三个版本中支持WebSocket


我只是想知道为什么选择SSE而不是WebSocket。

支持服务器发送事件的原因是:

(SSE)是从任何HTTP服务器高效地接收推送通知的一种优雅工具。它可以被认为是长轮询和单向WebSocket的混合体,每种方式都有许多好处:

  • 简单-服务器发送的事件只是一个长期存在的HTTP请求,任何HTTP服务器都可以支持
  • 高效-每个客户端使用一个TCP连接,每条消息都避免了HTTP连接的开销和所需的报头
  • 弹性-浏览器会自动检测连接何时中断并自动重新连接
  • 可互操作性-由于它只是普通的旧HTTP,因此可以使用您喜爱的HTTP工具进行内省,甚至可以通过HTTP代理(关闭缓冲和检查编码)工作
  • 支持良好-作为一种网络标准,它在除IE以外的所有主要浏览器中都受支持
i、 e.这是一款非常简单、优雅的产品,具有比WebSocket更好的HTTP保真度,非常适合在ServiceStack的ASP.NET和SelfHosts中工作的服务器推送通信,无需任何额外的.NET依赖项,也无需主机Windows服务器启用WebSocket支持即可使用。IE支持


以后可能会支持WebSocket,但这可能需要额外的外部依赖项和对服务器发送事件的要求。

支持服务器发送事件的原因是:

(SSE)是从任何HTTP服务器高效地接收推送通知的一种优雅工具。它可以被认为是长轮询和单向WebSocket的混合体,每种方式都有许多好处:

  • 简单-服务器发送的事件只是一个长期存在的HTTP请求,任何HTTP服务器都可以支持
  • 高效-每个客户端使用一个TCP连接,每条消息都避免了HTTP连接的开销和所需的报头
  • 弹性-浏览器会自动检测连接何时中断并自动重新连接
  • 可互操作性-由于它只是普通的旧HTTP,因此可以使用您喜爱的HTTP工具进行内省,甚至可以通过HTTP代理(关闭缓冲和检查编码)工作
  • 支持良好-作为一种网络标准,它在除IE以外的所有主要浏览器中都受支持
i、 e.这是一款非常简单、优雅的产品,具有比WebSocket更好的HTTP保真度,非常适合在ServiceStack的ASP.NET和SelfHosts中工作的服务器推送通信,无需任何额外的.NET依赖项,也无需主机Windows服务器启用WebSocket支持即可使用。IE支持


WebSocket可能会在以后得到支持,但这可能需要额外的外部依赖项和对Web Socket的要求。

与您的上一个问题一样,这是离题的,因为您直接向ServiceStack团队询问有关他们使用SSE而不是WebSocket的设计决策的问题;只有他们才能权威地发言。如前所述,SO不是直接访问ServiceStack的替代联系人。虽然Mythz提供了一个很好的答案(+1),但这是一个应该通过电子邮件或.Got直接向ServiceStack提问的问题。感谢Mythz。与您的上一个问题一样,这是离题的,因为您直接向ServiceStack团队询问有关他们使用SSE而不是WebSocket的设计决策的问题;只有他们才能权威地发言。如前所述,SO不是直接访问ServiceStack的替代联系人。虽然Mythz提供了一个很好的答案(+1),但这是一个应该通过电子邮件或.Got直接向ServiceStack提问的问题。无论如何,谢谢你。