xsockets.net(.NET WebSocket服务器)如​​何在Windows 2008上运行?

时间:2013-07-30 06:07:29

标签: websocket comet xsockets.net

我正在比较WebSocket服务器

  1. xsockets.net
  2. SuperWebSocket
  3. 斑点
  4. SignalR
  5. SignalR 仅适用于Server 2012,但我的服务器运行的是Windows 2008。

    SuperWebSocket& Fleck ,他们只支持flash-proxy后备。

    xsockets.net ,这个在老年人网络浏览器中具有长期支持的后备支持。 但它表示后备版仅适用于MVC3 / 4项目。 它可以在MVC3 / 4应用程序中打开一个端口来接受支持websocket的客户端的连接吗?在Windows 2008上我似乎不可能。

    我有一个问题,那就是:XSockets.NET如何在Windows 2008中运行?

    如您所知,在IIS8.0之前,http.sys中未添加WebSocket功能。 在IIS7.5中,SignalR始终以长池模式运行,适用于所有客户端。

    XSockets.NET是否相同?因为据说MVC3 / 4项目只支持长池后备。 如果我想利用后备支持,我必须在MVC3 / 4中使用XSockets.NET,它最终由IIS托管。 IIS7.5没有websocket的功能,这就是我所害怕的

    有谁知道它在承载MVC应用程序的IIS7.5中是如何工作的? 通过长池来处理所有客户?

1 个答案:

答案 0 :(得分:10)

编辑:

<强>保持兼容

XSockets将在运行.NET 4,0(或更高版本)或Mono的任何计算机上兼容websocket。这与操作系统无关......如果您愿意,您甚至可以在Raspberry PI上运行完整的XSocket。 XSockets将使用回退的唯一时间是客户端连接不支持websockets(IE9,IE8等)。

SignalR已经在.NET 4.5和内置的WebSocket命名空间(4.5)中构建了WebSocket支持,而XSockets在.NET 4.0中实现了WebSocket协议(以及其他功能)。 SignalR和XSockets除了它们都是基于.NET框架之外没什么可评论的,之后看起来非常不同......但这超出了范围。

<强>环境

由于XSockets通过它自己实现了WebSocket协议,这意味着XSockets不依赖于任何Web服务器,IIS,Apache等...它可以作为独立的Windows服务运行,也可以在Azure上运行(如果您愿意)。但是,您也可以在Web中启动XSockets,这实际上是在安装我们的nuget包时如何设置。

<强>后备

当您将XSockets安装到MVC3 / MVC4解决方案中时,安装将自动注册一个额外的控制器。如果客户端缺少对websockets的支持,该控制器将使用我们的外部API(套接字)与XSockets通信,JavaScript API将对该控制器执行AJAX(longpolling)。作为开发人员,如果您想使用后备,除了添加额外的JavaScript文件之外,您不需要做任何不同的事情。

现在,您可以为WebForms(和Azure)进行后备工作,但由于这不在范围内,因此如果您对此有疑问,请将其留待以后使用。

底线要结束......

  • 不要担心XSockets需要运行特殊操作系统,我们运行 在任何Windows / Unix / Linux环境中,只要.NET 4.0或Mono是 安装。
  • XSockets在IIS内部,Azure中运行,作为Windows服务或仅作为控制台应用程序运行......您甚至可以在Raspberry PI上运行服务器或 其他任何东西(电话或其他)只要 .NET / Mono的要求已满。
  • XSockets可以在.NET / Mono环境中开发,因此您可以使用Xamarin和使用Visual Studio的Windows实际开发插件。
  • 当您在MVC3 / MVC4中进行开发安装时,会自动设置回退,但您也可以在Azure上设置回退 的WebForms。
  • SignalR让服务器环境决定客户端是否可以使用websockets,XSocket总是有websockets和 仅当客户端不支持时才回退到longpolling 的WebSockets。