我制作了一个使用 udp 发送消息的程序。该程序最初将使用默认 IP 地址和端口初始化 udp 套接字。但是,它还应该允许用户在运行时更改目标 IP 地址和端口。
目前,如果用户更改 ip 地址/端口,我将关闭当前套接字,并使用新的 ip 地址/端口重新初始化/绑定套接字。
该程序能够使用初始套接字成功发送消息。但是当我重新绑定 ip 地址/端口时,绑定有时会失败。Bind() 返回值 -1。我在网上做了一些搜索,发现当套接字关闭时 TCP 协议有 2msl 超时。这适用于UDP吗?
此外,是否有更好的方法允许用户更改目标 IP/端口。顺便说一句,我在 Visual Studio 上使用 C++。
谢谢。