【问题标题】:Detect if websocket is installed on Windows Server 2012检测是否在 Windows Server 2012 上安装了 websocket
【发布时间】:2016-04-23 04:29:41
【问题描述】:

是否有任何代码或程序可以让我确认 WebSocket 是否正确安装在我的 Windows Server 2012 服务器上

我遇到了 WebSocket 的问题。它不适用于 Windows Server 2012。我已经在我的 Windows Server 2012 上安装了 WebSockets

我已经重启了两次服务器。

WebSocket 在我的服务器上不起作用的证据是我的以下 url(Signalr 使用它来决定 WebSocket 是否打开)

http://abcdedf.com/signalr/default/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D&_=14530662444 正在返回以下响应:

{
Url: "/signalr/default",
ConnectionToken: "xxxx",
ConnectionId: "cf63a537-ed4a-4d29-afaf-f0aec454b0c2",
KeepAliveTimeout: 6,
DisconnectTimeout: 9,
ConnectionTimeout: 110,
TryWebSockets: false,
ProtocolVersion: "1.5",
TransportConnectTimeout: 5,
LongPollDelay: 0
}

即 TryWebSockets: false

此应用程序在我的本地 Windows 8 机器上运行良好的相同代码。它给了

TryWebSockets:真

Windows Server 2012 上的 IIS 版本是 IIS 8.5。 我的网站在 .Net Framework 4.5 下运行。 Windows 防火墙已经关闭。 在我的应用设置中,我也添加了这个:

  <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />

在我的 web.config 中我也有这个:

 <webSocket enabled="true"/>

在 Windows Server 2012 上是否需要任何特殊设置才能使 WebSocket 正常工作?

是否有任何工具可以检查我的 Windows Server 2012 服务器上是否启用了 WebSocket?

【问题讨论】:

  • 仅供参考-应该可以。我已经在 Windows Server 2012 上安装了几次 SignalR,您已经找到了正确的角色。我从来不需要像你建议的那样调整web.config。实际上,一个区别是我一直在 2012 R2 上这样做 - 但我不确定这会产生什么影响......

标签: c# asp.net websocket signalr windows-server-2012


【解决方案1】:

我经常遇到由 Internet Explorer 中的 Internet 选项引起的 Windows 2012 服务器问题,因为它非常严格。

尝试打开 Internet Explorer -> Internet 选项 -> 安全并调整设置(出于测试目的降低安全级别),然后转到高级并查看安全下的一些设置,这些设置可能会阻止您的套接字。

我没有遇到您的具体问题,但大多数时候 Windows Server 和 Windows Client 之间存在差异是因为适用于 Windows Server 的安全限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2014-06-19
    • 1970-01-01
    • 2010-11-11
    • 2012-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多