【发布时间】:2013-02-18 09:07:41
【问题描述】:
我正在尝试将套接字绑定到以下端口:
if( bind(socket_desc,(struct sockaddr *) &server, sizeof(server)) < 0)
{
perror("bind failed. Error");
return 1;
}
puts("bind done");
但它给出了:
$ ./serve
Socket created
bind failed. Error: Address already in use
为什么会出现这个错误?
【问题讨论】:
-
使用不同的端口号?
-
使用尚未使用的地址。
-
我明白了..我选择了不同的端口...感谢您的帮助..谢谢大家。
-
当我关闭服务器程序而客户端程序仍在运行时,我遇到了同样的问题。这使套接字进入
TIME_WAIT状态。这是对该问题的详细讨论:How to forcibly close a socket in TIME_WAIT? -
为什么这个问题被关闭了?它涵盖了套接字编程的一个常见问题,并且问题的答案很有用且正确。它确实帮助了我。