System.Web.WebSocket vs SignalR

时间:2014-01-07 09:43:00

标签: asp.net node.js websocket signalr

在我看来,SignalR只是向System.Web.WebSocket全球统治的临时步骤,而且它是较低级别的System.Net.WebSocket。

如果我有IIS8,而我的客户有IE10,我有理由使用signalR吗? 它有未来吗?

(当然,Socket.IO + Node.js也一样)

由于

REF: http://pieterderycke.wordpress.com/2012/07/20/websockets-vs-signalr-or-why-you-should-not-have-to-care/

4 个答案:

答案 0 :(得分:4)

许多优点:

  1. SignalR将实际连接类型抽象出来,以便您只处理逻辑连接。优点是,如果您不需要更改代码,可以切换到其他连接类型(在某些情况下,SSE实际上可能提供比WebSockets更好的性能)。
  2. 如果您需要从不支持WebSockets的客户端进行连接,您可以免费获得后备选项(长轮询等)。
  3. 集线器提供一定程度的组织(当然,你可以自己做,但这是一个很好的起点,而且很方便)
  4. SignalR提供了一个丰富的API,用于调用特定客户端,一组客户端,所有客户端(包括排除某些客户端的能力)。同样,你可以自己实现它,所以这主要是为了方便。
  5. 您可以在客户端和服务器之间传递强类型参数(双向)。
  6. 您(可能)必须使用SignalR处理更少的样板代码。
  7. Scale-out支持

答案 1 :(得分:0)

在我的头顶上,group membership/broadcast和网络农场scale out的功能是你没有内置到WebSockets课程中的功能 - 所以如果你'重新使用这些功能,您可能会在不久的将来继续使用SignalR。

答案 2 :(得分:0)

达米恩的观点:

  • 如果用户没有支持Web套接字的浏览器,SignalR还支持长轮询和其他一些技术
  • 从服务器调用客户端上的方法非常容易

答案 3 :(得分:0)

此外,更新WebSockets时,SignalR也会更新,因此您无需担心新版WebSockets的编码。