无法为客户端绑定端口

时间:2014-07-25 04:08:31

标签: linux sockets port bind

当我为客户端绑定端口时:

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

0 个答案:

没有答案