【问题标题】:Clear ADDRINUSE清除地址
【发布时间】:2015-03-26 12:44:15
【问题描述】:

当我在同一个端口中第二次执行使用 bind() 的程序时,我获得了 EADDRINUSE。

我不想实现 setsockopt() 来重用套接字。在执行我的程序之前,我想“清除”已使用端口中使用的已使用套接字。

更多信息:Linux 操作系统。

【问题讨论】:

标签: linux sockets bind


【解决方案1】:

我会说您没有正确清理套接字,因此内核将等待更多数据到达 (TIME_WAIT) 并丢弃它 (RST)。如果您成功执行此操作,您将能够立即重用该端口,而无需通过setsockopt“强制”。

因此,只能通过setsockopt 执行此操作,因为您需要明确告诉内核必须停止此类行为。

【讨论】:

    猜你喜欢
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 2020-03-13
    相关资源
    最近更新 更多