【发布时间】:2020-10-07 17:46:47
【问题描述】:
嗨,我正在按照这个简单的教程(来自 https://www.geeksforgeeks.org/udp-server-client-implementation-c/)来创建一个 udp 客户端和服务器。但我确实遇到了一些问题,我总是有这个错误:绑定失败:地址已在使用中
我已经更改了端口并授予了权限,但错误仍然存在。
为什么会出现这个错误?
【问题讨论】:
嗨,我正在按照这个简单的教程(来自 https://www.geeksforgeeks.org/udp-server-client-implementation-c/)来创建一个 udp 客户端和服务器。但我确实遇到了一些问题,我总是有这个错误:绑定失败:地址已在使用中
我已经更改了端口并授予了权限,但错误仍然存在。
为什么会出现这个错误?
【问题讨论】:
在您的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。
【讨论】: