当我为客户端绑定端口时:
1)可以连接本地(127.0.0.1)服务器并使用精确绑定的端口。
2)但是,当连接到远程服务器时,客户端为我选择一个随机端口。
我使用了SO_REUSEADDR
有人可以帮助我。
代码:
client_addr.sin_family= AF_INET;
client_addr.sin_addr=*((struct in_addr *)host ->h_addr);
client_addr.sin_port=htons(9990);
printf("client port is %i\n",ntohs(client_addr.sin_port));
if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (char *)&reuse, sizeof(reuse))==-1) return errno;
bind(sockfd,(struct sockaddr *)(&client_addr),sizeof(struct sockaddr));
我正在使用ubuntu 12.04