我的程序同时连接不同的网络,如果尝试使用相同的端口号连接,绑定会失败。
在分配
之前,有没有办法检查端口号是否空闲 sockopt = 1;
rc = setsockopt(listensock, SOL_SOCKET, SO_REUSEADDR, &sockopt, sizeof(sockopt));
sinlen=sizeof(sin);
if (-1 == bind(listensock, (struct sockaddr *)&sin, sinlen)) {
perror("bind");
return 0;
}
if (-1 == listen(listensock, 2)) {
perror("listen");
return 0;
}
如果我为新连接分配了相同的先前分配的端口,则此功能失败。