这个错误提示意味着WebSocket握手过程中发生了错误,服务器返回了400 Bad Request错误码,可能是由于客户端发送的请求格式不正确或服务器无法理解客户端请求造成的。

解决这个问题需要逐步排查以下几个可能的原因:

  1. 确认WebSocket服务端是否已经正确启动并监听了本地的8080端口,可以在PC端通过telnet命令测试一下端口是否能够正常连接。

  2. 检查JS的WebSocket客户端代码是否正确,特别是在构造WebSocket对象时传递的url是否正确,应该与WebSocket服务端监听的url一致。

  3. 检查JS的WebSocket客户端代码是否支持与C# WebSocket服务端使用相同的协议版本,可以通过检查请求头中的Sec-WebSocket-Version字段来确定协议版本是否匹配。

  4. 检查JS的WebSocket客户端代码是否发送了正确的请求头,特别是Origin字段是否正确,应该与WebSocket服务端配置中的允许的来源地址一致。

  5. 检查C# WebSocket服务端代码是否正确处理了客户端发来的请求,特别是在解析请求头时是否有错误,可以在服务端代码中加入调试日志来查看具体的错误信息。

根据以上几个方面来逐步排查问题,应该可以找到导致WebSocket连接失败的原因,并进行相应的调整和修正。

在有网络的PC端就可以使用JS的WebSocket客户端连接本地的C#WebSocket服务端在局域网的PC端使用JS的webSocket客户端连接本地C#WebSocket服务端客户端就提示WebSocket connection to ws1270018080 failed Error during WebSocket handshake Unexpected response code 40

原文地址: http://www.cveoy.top/t/topic/YXi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录