我正在比较WebSocket服务器
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中是如何工作的? 通过长池来处理所有客户?
答案 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)进行后备工作,但由于这不在范围内,因此如果您对此有疑问,请将其留待以后使用。
底线要结束......