收藏
回答

微信小程序建立udp连接指定端口号后,再次创建连接时端口就成了0,怎么解决?

_this.obj = wx.createUDPSocket();

        const port = _this.obj.bind(8099)

然后再次创建udp时,端口号就不是8099了,成了0

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

1 个回答

  • 微盟
    微盟
    2023-08-17

    在微信小程序中,创建 UDP Socket 连接时,你可以使用 wx.createUDPSocket() 方法来创建连接,并使用 .bind() 方法来指定端口号。然而,你提到在再次创建连接时端口号变成了0,这可能是因为在重新创建连接时,端口号需要重新绑定。

    UDP(User Datagram Protocol)是一个无连接的协议,它在通信过程中并不维护像 TCP 那样的连接状态。因此,UDP 的端口绑定通常是在每次创建连接时指定的。

    以下是可能的做法:

    创建和绑定连接: 在第一次创建连接时,使用 .bind() 方法指定端口号,就像你在代码中所做的那样:

    this.obj = wx.createUDPSocket();

    const port = this.obj.bind(8099);

    重新创建连接: 当你需要重新创建连接时,不需要再次使用 .bind() 方法,只需要简单地调用 wx.createUDPSocket() 创建一个新的 UDP 连接。例如:

    const newSocket = wx.createUDPSocket();

    注意,UDP 是无连接的,所以在创建新连接时不需要再次绑定端口。每次创建连接时,微信小程序会自动分配一个可用的本地端口,因此你看到的端口号变为0,实际上是微信小程序在创建连接时分配的临时端口。


    2023-08-17
    有用
    回复
登录 后发表内容