收藏
回答

tcpsocket 体验版不打开开发者调试不能通过局域网连接socket服务器?

我们的需求是手机打开热点,笔记本连接热点,创建socket服务,手机通过小程序 tcpsocket 和服务器交互;

问题: 开发模式,服务器可以接受到小程序的连接;但是体验版,不打开开发者调试就报错 : connet fail: invalid address 192.168.2.87:8666

192.168.2.87:8666 // 是笔记本连接手机热点后的局域网地址;

请问有什么办法么? 或者我需要怎么做?

代码如下:

 const tcp = wx.createTCPSocket();
      const that = this;
      console.log(that.data.connectDeviceIp, that.data.port)
      tcp.connect({
        address: that.data.connectDeviceIp,
        port: that.data.port,
      });


      tcp.onConnect(() => {
        console.log("tcpConnectSuccess");
        tcp.write("hello, how are you");
      });


      tcp.onClose(function listener() {
        console.log("tcpOnClose");
      });


      tcp.onMessage(({ message, ...res }) => {
        this.setData({
          socketMessage: `${new Uint8Array(message)}${
            res?.remoteInfo?.address
          }--${res?.localInfo?.address}`,
        });
      });
      tcp.onError((res) => {
        console.log("错误:", res);
        showToast(res?.errMsg, 2000);
        this.setData({
          arrBufVal: res?.errMsg,
        });
      });
回答关注问题邀请回答
收藏

1 个回答

  • YoKo
    YoKo
    2023-11-16

    你把小程序 开发工具域名校验关了,看看TCPsocket报不报错,体验版要求有https 域名的

    2023-11-16
    有用
    回复 3
    • SERENDIPITY-Z
      SERENDIPITY-Z
      发表于移动端
      2023-11-16
      刚试了,发现还是不行,这个好像如果分享热点的手机是iOS就可以通信局域网是172.网段的,安卓分享热点不可以是192.168……。
      2023-11-16
      回复
    • YoKo
      YoKo
      2023-11-16回复SERENDIPITY-Z
      体验版好像不可以 IP通信
      2023-11-16
      回复
    • SERENDIPITY-Z
      SERENDIPITY-Z
      2023-11-16回复YoKo
      谢谢哈, 目前发现 :
      如果手机和笔记本同在一个局域网下,是可以的;
      第二种情况是: 如果一台手机开流量并且给笔记本开热点,这时候就不通;但是把这台手机的流量关了只开热点,就通了~;
      第三种情况: ios分享的话,好像都可以通;;
      2023-11-16
      回复
登录 后发表内容