HarmonyOS 鸿蒙Next webSocket使用wss://协议成功连接后立即触发错误处理ws.on('error')

HarmonyOS 鸿蒙Next webSocket使用wss://协议成功连接后立即触发错误处理ws.on(‘error’)

function createSocket(){ let defaultIpAddress = “wss://hometest.coffee-iot.com:8087”; let ws = webSocket.createWebSocket(); ws.connect(defaultIpAddress,{ },(err, value: boolean) => { if (!err) { console.info(日志输出(连接成功):+ “connect success”); } else { console.info(日志输出(连接失败):+ “connect fail, err:” + JSON.stringify(err)); } }); ws.on(‘open’, (err, value: Object) => { console.info(日志输出:+ “进入 open”); if (err != undefined) { console.info(日志输出:+ JSON.stringify(err)); return; } // 当收到on(‘open’)事件时,可以通过send()方法与服务器进行通信 ws.send(“Hello, server!”, (err, value: boolean) => { if (!err) { console.info(日志输出:+ “send success”); } else { console.info(日志输出:+ “send fail, err:” + JSON.stringify(err)); } }); }); ws.on(‘message’, (err, data: Object) => { console.info(日志输出:+ “on message, message:” + data); // 当收到服务器的bye消息时(此消息字段仅为示意,具体字段需要与服务器协商),主动断开连接 if (data.toString() === ‘bye’) { ws.close((err, value: boolean) => { if (!err) { console.info(日志输出(关闭成功):+ “close success”); } else { console.info(日志输出(关闭失败):+ "close fail, err is " + JSON.stringify(err)); } }); } }); ws.on(‘close’, (err, value) => { console.info(日志输出(连接关闭):+ "on close, code is " + value.code + ", reason is " + value.reason); }); ws.on(‘error’, (err) => { console.info(日志输出(连接错误):+ “on error, error:” + JSON.stringify(err)); //每次都会走到error这一步 }); }

我做了日志打印,每次我连wss://过后:

前句报:日志输出(连接成功):connect success

后句报:日志输出(连接错误):on error, error:{“code”:200,“data”:“0”}


更多关于HarmonyOS 鸿蒙Next webSocket使用wss://协议成功连接后立即触发错误处理ws.on('error')的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next webSocket使用wss://协议成功连接后立即触发错误处理ws.on('error')的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中使用WebSocket并通过wss://协议连接时,若成功连接后立即触发ws.on('error')事件,可能的原因及解决方法如下:

  1. 证书问题:wss协议要求服务器提供有效的SSL/TLS证书。如果证书不受信任、已过期或域名不匹配,客户端会在尝试建立安全连接时触发错误。请检查服务器证书的有效性及客户端是否信任该证书颁发机构。

  2. 协议不匹配:确保服务器支持WebSocket协议,并且正确配置了wss服务。有时服务器可能配置为仅支持HTTP/HTTPS,而非WebSocket。

  3. 网络问题:网络不稳定或配置错误(如防火墙、代理设置)可能导致连接建立后迅速断开并触发错误。检查网络连接及配置。

  4. 客户端实现问题:检查WebSocket客户端的实现是否有bug或不支持某些特性。确保使用的WebSocket库与HarmonyOS系统兼容。

  5. 服务器负载或限制:服务器可能因负载过高或配置限制(如连接数限制)而拒绝或断开连接。

针对上述问题,逐一排查并修正。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部