3

当尝试NetHttpBinding在 IIS 8 Express 上使用 WCFWebSocketException时,客户端尝试连接时会在客户端抛出以下内容:

WebSocket 升级请求失败。收到响应状态代码“200 (OK)”,预期:“101 (SwitchingProtocols)”。

谷歌搜索没有帮助。

此错误的原因可能是什么?

4

1 回答 1

10

这意味着 HTTP 服务器不支持该 URL 上的 WebSocket。在 WebSocket 协商期间,标准的 HTTP 1.1GET请求会发送到带有特殊Upgrade: websocket标头的服务器,以让服务器知道客户端希望连接使用 WebSocket 而不是 HTTP。如果服务器支持 WebSocket,并且请求标头有效,则要求服务器发送101回复以让客户端知道服务器在连接期间将连接切换到 WebSocket。除 3xx 重定向之外的任何其他回复意味着服务器无法识别或允许该UpgradeURL 上的请求。

于 2013-08-12T20:58:55.087 回答