HarmonyOS 鸿蒙Next 使用WebSocket建立connect后收到err 200
HarmonyOS 鸿蒙Next 使用WebSocket建立connect后收到err 200
ws.connect响应成功 但会在ws.on(‘error’, (err) => 中收到{“code”:200},,,,只有code没有具体错误信息
将protocol字段设置为 Sec-WebSocket-Protocol 的值可以正常连接,不返回error 200。
比如 服务器要求的字段 Sec-WebSocket-Protocol : soup 如下设置
this.ws.connect(url, {
protocol: "soup"
}, (err: BusinessError, value: boolean) => {
if (!err) {
Logger.d(TAG, "Connected successfully")
} else {
Logger.d(TAG, "Connection failed. Err:" + JSON.stringify(err))
}
})
}
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
加上还是不行,是啥原因,怎么排查
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17
请问你的问题解决了吗,我这边也遇到一样的问题,找了好久都没找到解决方法
需要服务端下掉对websocket子协议校验。但是不知道是当前版本还是什么原因,websocket总会出现连接异常,重启不可恢复,一般我都断网重连有可能解决,稳定性很差。
好的,谢谢你!
什么协议不支持。怎么个屏蔽呢?貌似我手机更新前都能用,更新了一次之后websocket就一直报200错误码了了
Sec-Websocket-Protocol
能问下具体怎么屏蔽这个Sec-Websocket-Protocol吗,服务端根本没有设置这个字段。
这边排查发现是不支持某个子协议导致哦,屏蔽掉就正常了
兄弟,你弄好没?我现在也遇到这个问题了
这个最好后端联调下,看他们到底有没有收到你的socket连接请求
你好,请问你现在解决了吗
在HarmonyOS(鸿蒙)开发中,遇到WebSocket连接后返回错误码200通常是不寻常的,因为HTTP 200状态码表示请求成功,而WebSocket连接错误通常伴随不同的错误码(如4xx或5xx)。这可能意味着WebSocket握手过程中HTTP响应被错误地解释为成功,但实际上WebSocket连接并未成功建立。
检查以下几点:
- 确保WebSocket服务器正确配置并支持WebSocket协议。
- 验证客户端的WebSocket URL和端口号是否正确。
- 查看服务器日志,了解是否有关于WebSocket连接的详细错误信息。
如果问题依旧没法解决请加我微信,我的微信是itying888。