我正在比较 WebSocket 服务器
信号机 仅在 Server 2012 上可用,但我的服务器运行的是 Windows 2008。
SuperWebSocket 和 Blob , 他们只支持 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 项目才支持长池回退。
如果我想利用回退支持,我必须在最终由 IIS 托管的 MVC3/4 中使用 XSockets.NET。
而且IIS7.5没有websocket的特性,这就是我怕的
有谁知道它在托管 MVC 应用程序的 IIS7.5 中是如何工作的?
通过长池处理所有客户端?
最佳答案
编辑:
兼容性
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 协议(protocol)(除其他外)。 SignalR 和 XSockets 除了它们都建立在 .NET 框架上之外,真的没有什么可评论的,在那之后看起来非常不同......但这超出了范围。
环境
由于 XSockets 自己实现了 WebSocket 协议(protocol),这意味着 XSockets 不依赖于任何网络服务器、IIS、Apache 等……它可以作为独立的 Windows 服务运行,如果你愿意,它可以在 Azure 上运行。但是,您也可以在您的 Web 中启动 XSockets,这实际上是安装我们的 nuget 包时的设置方式。
后备
当您将 XSockets 安装到 MVC3/MVC4 解决方案中时,安装将自动注册一个附加 Controller 。该 Controller 将使用我们的外部 API(套接字)与 XSocket 通信,如果客户端不支持 websocket,JavaScript API 将针对该 Controller 执行 AJAX(长轮询)。作为开发人员,如果您想使用回退,除了添加额外的 JavaScript 文件外,您不需要做任何不同的事情。
现在,您也可以让 WebForms(和 Azure)的后备工作,但由于这超出了范围,如果您对此有疑问,我们将其留到以后。
总结...
在任何 Windows/Unix/Linux 环境中,只要 .NET 4.0 或 Mono 是
安装。
其他任何东西(电话或其他)只要
.NET/Mono 的要求已满。
网络表单。
仅当客户端不支持时才回退到长轮询
网络套接字。
关于websocket - xsockets.net(.NET WebSocket 服务器)如何在 Windows 2008 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17939417/