我需要一个将UDP数据包发送到某个网络服务器并接收响应的应用程序。服务器回复相同的请求来自的端口号,所以我首先需要绑定()我的套接字到任何UDP端口号。如何绑定到任何可用的端口?
硬编码的UDP端口号是一个坏主意,因为它可能是由同一台PC上运行的任何其他应用程序使用。
是否有可用的绑定的UDP套接字任何端口的方法是什么? IMO应该是快速获得空闲端口#的有效方式,该空闲端口被例如accept()函数。
如果不是,那么尝试绑定并检查WSAEADDRINUSE/EADDRINUSE状态的最佳策略是:从1025或1025 + rand()或其他某个端口顺序尝试端口?
accept()用于基于连接的套接字,而不是数据报套接字。 – Beano
也许这将有助于:http://serverfault.com/questions/447044 – yegor256
在POSIX?还要求范围1024+:http://stackoverflow.com/questions/913501/how-to-let-kernel-choose-a-port-number-in-the-range-1024-5000-in-tcp-socket- pr –