• Lv1
    粉丝0

积分1 / 贡献0

提问1答案被采纳0文章0

作者动态

    OpenHarmony5.0是否有办法取消websocket的自动心跳机制?

    Non_ 显示全部楼层 发表于 2026-6-24 09:31:32

    【问题描述】

    1. 问题:我的应用需要使用到websocket(@kit.NetworkKit)创建客户端连接,但我的服务端(freeswitch的verto模块)没有回复ping的能力。我的设备sdk版本是5.0.2,这个版本的websocket有无法取消的心跳机制,如果ping得不到回复就会自动断开。但是这个版本的WebSocketRequestOptions类型不提供pingInterval和pongTimeout来取消心跳机制,这就导致我的连接会每隔60秒断开一次。 我知道新版的sdk版本已经添加了这两个属性,但我目前需要在5.0的设备上开发。

    2. 代码:

           this.client = webSocket.createWebSocket();
            // 发起连接,配置心跳参数
            const requestOptions: webSocket.WebSocketRequestOptions = {
              // pingInterval: 0,  // 禁用客户端默认的PING发送
              // pongTimeout: 0   // 禁用PONG超时检测
            };
      
            this.client.connect(this.serverUrl, requestOptions, (err: BusinessError, value: boolean) => {
              if (err) {
                console.error('WebSocket连接请求失败:', JSON.stringify(err));
              }
            });
    3. 请问是否有办法,在5.0.2版本的sdk上取消掉websocket的心跳机制?我是否能够通过用新版sdk内的相关so文件替换旧版的来解决这个问题?或者有别的办法?

    (顺便致歉,我在提问前并未搜索到论坛是否有相关内容。因为我使用论坛的搜索功能,无论输入什么都搜索不到任何内容,这点也不知如何解决,请求帮助!)

    【运行环境】

    DevEvoStudio版本:DevEco Studio 6.1.1 Release SDK版本:5.0.2

    您尚未登录,无法参与评论,登录后可以:
    参与开源共建问题交流
    认同或收藏高质量问答
    获取积分成为开源共建先驱

    Copyright   ©2025  OpenHarmony开发者论坛  京ICP备2020036654号-3 | 京公网安备11030102011662号 |技术支持 Discuz!

    返回顶部