HarmonyOS 鸿蒙Next websocket异常报错
HarmonyOS 鸿蒙Next websocket异常报错
使用import webSocket from ‘@ohos.net.webSocket’; 建立websocket链接。显示成功,发送心跳后台也返回消息。
但是过了大概60秒就会返回错误,错误信息{“code”:200,“data”:“0”}。只能重新链接。原生js的websocket就没问题。只有这个有问题。不知道什么原因:
附源码
import webSocket from ‘@ohos.net.webSocket’;
let _SocketInstance = webSocket.createWebSocket();
// 连接打开时触发的事件
_SocketInstance.on(‘open’, (err, value) => {
clearTimeout(_this._BasicConfig._socketTimer);
_this._setConnectStatus(2);
_this._cLog(“HTIM-WebSocket 打开成功”);
});
// 接收到服务器消息时触发的事件
_SocketInstance.on(‘message’, (err, value) => {
_this._onMessage(value);
});
// 连接关闭时触发的事件
_SocketInstance.on(‘close’, (err, value) => {
_this._cWarn(“socket通信关闭”, value.reason);
_this._reconnection();
});
// 连接发生错误时触发的事件
_SocketInstance.on(‘error’, (error) => {
_this._cError('HTIM-WebSocket 通信错误: ', JSON.stringify(error));
_this._reconnection();
});
_SocketInstance.connect(info.serverip,{
protocol: “my-protocol”
}, (err, value) => {
if (!err) {
_this._cLog(“HTIM-WebSocket 连接成功”);
} else {
console.log(“HTIM-WebSocket 连接失败. Err:” + JSON.stringify(err));
}
});
错误截图
针对您提到的HarmonyOS鸿蒙Next系统中WebSocket异常报错的问题,这通常可能由多种原因引起,包括但不限于网络配置错误、权限设置不当、系统API变更或第三方库兼容性问题。
首先,请确保您的网络连接稳定,且WebSocket服务端地址和端口配置正确无误。检查防火墙和安全软件设置,确保它们没有阻止WebSocket连接。
其次,检查您的应用是否有足够的权限进行网络通信。在HarmonyOS中,应用需要明确声明网络权限,如ohos.permission.INTERNET
。
此外,由于系统更新可能引入API变更,建议您查阅最新的HarmonyOS开发文档,确认WebSocket相关API的使用方法和参数是否有所变化。
如果使用了第三方库,尝试更新到最新版本,或者检查是否有已知的兼容性问题。
最后,如果问题依旧存在,您可以通过查看系统日志和应用日志来获取更详细的错误信息,这有助于进一步定位问题。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html