收藏
回答

鸿蒙系统小程序TCP无法使用

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug TCP 通信 微信安卓客户端 8.0.58 3.8.7

TCPSocket.connect(Object options)

这个接口,在鸿蒙系统内是无法访问目标IP和端口的。UDP类型另外测试访问可以,但TCP类型的不行

回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员--阳光
    社区技术运营专员--阳光
    06-06

    你好,麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点

    06-06
    有用
    回复
  • RY.J
    RY.J
    06-05
        handleDeviceTap(e) {
          // 获取用户点击的设备数据情况
          const index = e.currentTarget.dataset.index;
    
    
          var appInst =  getApp();
          // IP
          appInst.globalData.useDev_IP = this.data.deviceIP[index];
          appInst.globalData.useDev_name = this.data.deviceList[index];
          
          console.log('点击的行数:', index);
          console.log('设备名: ', appInst.globalData.useDev_name);
          console.log('选取的设备IP: ', appInst.globalData.useDev_IP);
    
    
          // 建立TCP连接,设备做TCP服务器,端口全系列产品 8849
          appInst.globalData.cmd_tcp_socket = wx.createTCPSocket();
          appInst.globalData.cmd_tcp_socket.onError((err) => {
            console.error('TCP连接错误:', err);
            wx.showToast({
              title'连接设备请求失败',
              icon'none'
            });
          });
          appInst.globalData.cmd_tcp_socket.connect({
            address : appInst.globalData.useDev_IP,
            port    : 8849
          });
    
    
          // 设置对设备执行TCP立即发送的回调函数
          appInst.globalData.cmd_tcp_socket.onConnect(() => {
            // 连接建立后再发送数据
            console.log('TCP连接成功');
            this.data.dev_tcp_cmd_connected = true;
            appInst.globalData.cmd_tcp_socket.write(KS_DEV_COMMUNICAT.CMD_DEV_BEGIN);
          });
          
          // 设置接收到设备响应的回调函数
          appInst.globalData.cmd_tcp_socket.onMessage(this.onTcpMsg_recvResponse);
    

    这代码里面,connect会触发onError的回调,打印:{errMsg: "connect fail: invalid address 192.168.12.197:8849, errCode: -4, errno: -4}

    06-05
    有用
    回复
登录 后发表内容