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

标签 websocket comet xsockets.net

我正在比较 WebSocket 服务器

  • xsockets.net
  • super WebSocket
  • Blob
  • 信号机

  • 信号机 仅在 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)的后备工作,但由于这超出了范围,如果您对此有疑问,我们将其留到以后。

    总结...

  • 不用担心 XSockets 需要一个特殊的操作系统来运行,我们运行
    在任何 Windows/Unix/Linux 环境中,只要 .NET 4.0 或 Mono 是
    安装。
  • XSockets 在 IIS、Azure 中作为 Windows 服务或控制台应用程序运行......您甚至可以在 Raspberry PI 或
    其他任何东西(电话或其他)只要
    .NET/Mono 的要求已满。
  • XSockets 可以在 .NET/Mono 环境中开发,因此您实际上可以从使用 Xamarin 的 MAC 和使用 Visual Studio 的 Windows 开发插件。
  • 当您在 MVC3/MVC4 中安装后备以进行开发时,会自动设置回退,但您也可以在 Azure 和
    网络表单。
  • SignalR 让服务器环境决定客户端是否可以使用 websockets,XSockets 总是有 websockets 和
    仅当客户端不支持时才回退到长轮询
    网络套接字。
  • 关于websocket - xsockets.net(.NET WebSocket 服务器)如​​何在 Windows 2008 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17939417/

    相关文章:

    linux - 我们可以从套接字地址获取应用程序名称吗?

    javascript - 可以对 WebSocket 消息进行编码吗?

    node.js - 基于 SPDY 的 WebSocket

    ruby-on-rails - 向 ajax 进程指示延迟作业已完成

    http - 如何实现 "other users viewing this object"

    xsockets.net - XSocket.net。如何从不是 Controller 的对象向客户端发送消息

    javascript - 无法创建简单的 websocket - NodeJS

    node.js - 移动App聊天服务器开发

    c# - socket.io-client 足以作为 XSockets.NET 服务器的套接字客户端吗?