微信版本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连接,在发送一条字符串数据后等待传输数据,连接的域名是自己架设的服务器,使用花生壳映射到公网端口。已经在微信小程序服务器端做过登记。
遇到了一样的问题啊 连接成功后过了几秒就报{sockfd: 289, errCode: -2, errNum: , errMsg: "recv socket fail: remote socket 289 closed"} 没报错误之前下发数据也能正常下发成功
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);
});
问题的描述如下面链接中一致,本地对该问题的解决参见我在链接中的回答。简而言之这个问题没解决,但TCPSocket仍然能收到信息,设置onError逻辑能绕开这个问题。
https://developers.weixin.qq.com/community/develop/doc/0000260f960ab876f630861cd6b400