asp.net - 如何在 IIS 8 中启用 WebSockets?

标签 asp.net iis websocket signalr iis-8

我在 Windows 2012、IIS 8 服务器上部署了 SignalR 示例应用程序。

我安装了 WebSocket 协议(protocol)支持,如下所述:http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-websocket-protocol-support

但我仍然无法使用 WebSockets 进行连接。这是我部署的应用程序:http://machines-staging.dgplatformer.net/SignalRSamples/Hubs/HubConnectionAPI/

以及消息日志:

[20:05:12 GMT-0200 (E. South America Daylight Time)]: disconnected => connecting undefined
[20:05:12 GMT-0200 (E. South America Daylight Time)]: connecting => connected 49b8a6d4-41ef-4ff8-8f3d-8e1a513649bb
[20:05:12 GMT-0200 (E. South America Daylight Time)]: 49b8a6d4-41ef-4ff8-8f3d-8e1a513649bb OnConnected
started transport: **serverSentEvents** 49b8a6d4-41ef-4ff8-8f3d-8e1a513649bb

我发现这个部署在 Azure 上(用于比较):http://signalr-test1.cloudapp.net:82/Hubs/HubConnectionAPI/

日志:

20:11:18 GMT-0200 (E. South America Daylight Time) stateChanged: disconnected => connecting
20:11:18 GMT-0200 (E. South America Daylight Time) starting state: connecting
20:11:19 GMT-0200 (E. South America Daylight Time) stateChanged: connecting => connected
20:11:19 GMT-0200 (E. South America Daylight Time) 68b036a9-4e08-49a4-b11c-9ba15718e2d9 OnConnected
20:11:19 GMT-0200 (E. South America Daylight Time) started transport: **webSockets** 68b036a9-4e08-49a4-b11c-9ba15718e2d9

要在我们的 IIS8 服务器上使用 WebScokets,我需要做什么?

这是 IIS 日志:

Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken

2014-01-29 22:14:13 192.168.0.33 GET /SignalRSamples/signalr/connect transport=webSockets&connectionToken=5O27InctUL0WgtbDF6bF8BhVEzndWHHsxlcZV3Ov1Oi3XiReG5eLZmtvSjL3AoqoKAAIStCAIt8uAnPsBhqSe1aL24Uv0cnAv5%2FP%2BgsEseUC%2BOj2if%2Bl9DMsvc%2BkI3N7&connectionData=%5B%7B%22name%22%3A%22hubconnectionapi%22%7D%5D&tid=2 80 - 186.231.71.234 Mozilla/5.0+(Windows+NT+6.2;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/32.0.1700.76+Safari/537.36 - 400 0 0 155

最佳答案

其实我发现问题出在我的办公室网络上,而不是服务器上。我可以使用 3G 网络使用 WebSockets 连接我的智能手机 =)

关于asp.net - 如何在 IIS 8 中启用 WebSockets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21443839/

相关文章:

c# - 带有 IIS 的 Crystal 报表

asp.net - Visual Studio 告诉我尚未配置可操作的本地 IIS URL

AngularJS:通过 Websocket 发送身份验证 header

javascript - JS setattribute 不是函数 - Firefox、chrome

asp.net - Application_End 什么时候被调用,我如何手动导致这个?

asp.net - 提供旧文件的 Azure Web 应用程序

c# - 在 IIS Express 或其他 WebServer 上部署 ASP.NET MVC 应用程序?

.net - 如何以编程方式获取 ASP.NET 临时目录?

websocket - 为什么 HTTP + Websockets 不适合作为消息传递协议(protocol)?

python - 让安全的 Websockets 在 Tornado 上工作