【问题标题】:bind failed: Address already in use on a simple code [closed]绑定失败:地址已在简单代码中使用[关闭]
【发布时间】:2020-10-07 17:46:47
【问题描述】:

嗨,我正在按照这个简单的教程(来自 https://www.geeksforgeeks.org/udp-server-client-implementation-c/)来创建一个 udp 客户端和服务器。但我确实遇到了一些问题,我总是有这个错误:绑定失败:地址已在使用中

我已经更改了端口并授予了权限,但错误仍然存​​在。

为什么会出现这个错误?

【问题讨论】:

    标签: c linux sockets ubuntu


    【解决方案1】:

    在您的socket 调用之后和您的bind 调用之后,您需要设置套接字以重用地址(例如):

    // Configure server socket
    int enable = 1;
    
    // This allows you to avoid: 'Bind: Address Already in Use' error
    int ret = setsockopt(server_sockd, SOL_SOCKET, SO_REUSEADDR,
        &enable, sizeof(enable));
    

    详情请见man 7 socket

    【讨论】:

      猜你喜欢
      • 2013-02-18
      • 2018-04-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-29
      • 2013-12-02
      • 2021-10-02
      相关资源
      最近更新 更多