收藏
回答

TCPSocket在电脑端和手机端运行情况不一致,errorcode -2,如何解决?

微信版本8.0.42,基础库版本3.1.4[1067],手机华为mate 60 pro。小程序中开启了一个TCP Socket连接到公网服务器,在电脑端运行正常,手机端建立TCP连接后立刻断开,导致服务器端的发送信息无法接收。

```

{sockfd: 480, errCode: -2, errNum: 0, errMsg: "recv socket fail: remote socket 480 closed"}

```

代码即新建一个TCP连接,在发送一条字符串数据后等待传输数据,连接的域名是自己架设的服务器,使用花生壳映射到公网端口。已经在微信小程序服务器端做过登记。

最后一次编辑于  2023-10-27
回答关注问题邀请回答
收藏

2 个回答

  • 小泽
    小泽
    10-31

    遇到了一样的问题啊 连接成功后过了几秒就报{sockfd: 289, errCode: -2, errNum: , errMsg: "recv socket fail: remote socket 289 closed"} 没报错误之前下发数据也能正常下发成功

    10-31
    有用
    回复 1
    • 小泽
      小泽
      10-31
      let that = this;
          that.data.tcp = wx.createTCPSocket()
          that.data.tcp.connect({address: '192.168.110.131', port: 9100})
          that.data.tcp.onConnect(function (res) {
            console.log('连接已打开');
          });
          that.data.tcp.onError(function (res) {
            console.error('连接错误', res);
          });
      10-31
      回复
  • hmzawz2
    hmzawz2
    2023-10-27

    问题的描述如下面链接中一致,本地对该问题的解决参见我在链接中的回答。简而言之这个问题没解决,但TCPSocket仍然能收到信息,设置onError逻辑能绕开这个问题。

    https://developers.weixin.qq.com/community/develop/doc/0000260f960ab876f630861cd6b400

    2023-10-27
    有用
    回复
登录 后发表内容