HarmonyOS 鸿蒙Next websocket连接成功后过一会就error断开了
HarmonyOS 鸿蒙Next websocket连接成功后过一会就error断开了
代码:
let wssUrl = ‘wss://’;
this.wss.on(‘open’, (err: BusinessError, value: Object) => {
console.log(“ccccccccccccwebsocket==on open, status:” + JSON.stringify(value));
emitter.emit({eventId:EmitterConstant.Emitter_websocketScuess})
// let innerEvent: emitter.InnerEvent = { eventId: EmitterConstant.Emitter_websocketScuess }
// // 选中态:黑变红
// let eventData: emitter.EventData = {
// data: {
// value
// }
// }
// emitter.emit(innerEvent, eventData)
this.headintervalID = setInterval(() => {
console.log(“websocket==111headerMessage sent successfully”);
this.wss.send(“1”, (err: BusinessError, value: boolean) => {
if (!err) {
console.log(“websocket==headerMessage sent successfully”);
} else {
console.log(“websocket==headerFailed to send the message. Err:” + JSON.stringify(err));
}
});
}, 20000);
let wssUrl = ‘wss://’;
this.wss.on(‘open’, (err: BusinessError, value: Object) => {
console.log(“ccccccccccccwebsocket==on open, status:” + JSON.stringify(value));
emitter.emit({eventId:EmitterConstant.Emitter_websocketScuess})
// let innerEvent: emitter.InnerEvent = { eventId: EmitterConstant.Emitter_websocketScuess }
// // 选中态:黑变红
// let eventData: emitter.EventData = {
// data: {
// value
// }
// }
// emitter.emit(innerEvent, eventData)
this.headintervalID = setInterval(() => {
console.log(“websocket==111headerMessage sent successfully”);
this.wss.send(“1”, (err: BusinessError, value: boolean) => {
if (!err) {
console.log(“websocket==headerMessage sent successfully”);
} else {
console.log(“websocket==headerFailed to send the message. Err:” + JSON.stringify(err));
}
});
}, 20000);
2 回复
服务器必须发送PONG帧来维持长链接,可以让抓包看看服务器有没有发送PONG帧
针对您提到的HarmonyOS鸿蒙Next系统中WebSocket连接成功后不久便出现error断开的问题,这通常可能由以下几个原因造成:
-
网络问题:检查设备网络连接是否稳定,包括WiFi或移动数据网络。不稳定的网络可能导致连接中断。
-
服务器端问题:服务器可能由于负载过高、配置错误或维护等原因主动断开连接。请确认服务器端状态及日志,查看是否有异常信息。
-
客户端心跳机制:如果WebSocket连接长时间没有数据传输,某些服务器会基于心跳机制断开连接。请确保客户端实现并发送心跳包以维持连接。
-
系统或应用Bug:HarmonyOS鸿蒙Next系统或您的应用可能存在导致连接不稳定的Bug。检查是否有可用的系统更新或应用更新。
-
安全策略:某些网络环境或防火墙策略可能限制了长时间保持的WebSocket连接。检查相关安全设置。
您可以根据上述方向进行排查,逐一排除可能的原因。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。