- 论坛徽章:
- 0
|
struct sockaddr_in my_addr;
my_addr.sin_addr.s_addr = INADDR_ANY;
其中INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”
int opt = 1;
int len = sizeof(opt);
setsockopt(pSockData->so_fd,SOL_SOCKET,SO_REUSEADDR,(const char *)&opt,len);
SO_REUSEADDR 为true 就是允许在相同的端口不同的IP地址上创建套接描述字。
这样的目的是根据允许断开前后 监听时使用的IP地址不同。
这样在TCP(UDP)网络连接断开之前(TIME_WAIT没结束之前)可以当前空闲的本地IP地址的同一端口重新监听。
我想问的是
1 假如一个程序连续异常断开连接 每次打开和关闭 都再 TIME_WAIT 时间内完成 这样多次之后当前所有的本地IP都处于TIME_WAIT 时间内,没有空闲的本地IP了,这样端口是不是就无法复用了?
2 INADDR_ANY 表示所有地址 那这些所有地址都是那些地址? |
|