“WebSocket 升级请求失败”异常在 Web 套接字上下文中意味着什么?

问题描述 投票:0回答:2

尝试在 IIS 8 Express 上使用带有

NetHttpBinding
的 WCF 时,当客户端尝试连接时,客户端会抛出以下
WebSocketException

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

谷歌搜索没有帮助。

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

wcf websocket iis-8
2个回答
13
投票

这意味着 HTTP 服务器不支持该 URL 上的 WebSocket。 在 WebSocket 协商期间,标准 HTTP 1.1

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


0
投票

您使用Nginx后端服务器吗?

© www.soinside.com 2019 - 2024. All rights reserved.