Linux 无法为客户端绑定端口
为客户端绑定端口时: 1可以连接local127.0.0.1服务器并使用绑定的端口。 2但是,当连接到远程服务器时,客户端会为我选择一个随机端口 我以前是苏博士 有人能帮我吗 代码:Linux 无法为客户端绑定端口,linux,sockets,port,bind,Linux,Sockets,Port,Bind,为客户端绑定端口时: 1可以连接local127.0.0.1服务器并使用绑定的端口。 2但是,当连接到远程服务器时,客户端会为我选择一个随机端口 我以前是苏博士 有人能帮我吗 代码: 我使用的是ubuntu 12.04重用加法器,用于在程序关闭后重用同一端口。它不应该持有端口你想问什么…你想在特定端口上托管服务器吗?为什么要指定客户端端口?只需完全删除bind调用。你不需要它。当您调用connect时,让系统为您选择出站端口。 client_addr.sin_family= AF_INET;
我使用的是ubuntu 12.04重用加法器,用于在程序关闭后重用同一端口。它不应该持有端口你想问什么…你想在特定端口上托管服务器吗?为什么要指定客户端端口?只需完全删除bind调用。你不需要它。当您调用connect时,让系统为您选择出站端口。
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));