【发布时间】:2015-03-26 12:44:15
【问题描述】:
当我在同一个端口中第二次执行使用 bind() 的程序时,我获得了 EADDRINUSE。
我不想实现 setsockopt() 来重用套接字。在执行我的程序之前,我想“清除”已使用端口中使用的已使用套接字。
更多信息:Linux 操作系统。
【问题讨论】:
当我在同一个端口中第二次执行使用 bind() 的程序时,我获得了 EADDRINUSE。
我不想实现 setsockopt() 来重用套接字。在执行我的程序之前,我想“清除”已使用端口中使用的已使用套接字。
更多信息:Linux 操作系统。
【问题讨论】:
我会说您没有正确清理套接字,因此内核将等待更多数据到达 (TIME_WAIT) 并丢弃它 (RST)。如果您成功执行此操作,您将能够立即重用该端口,而无需通过setsockopt“强制”。
因此,只能通过setsockopt 执行此操作,因为您需要明确告诉内核必须停止此类行为。
【讨论】: