2016-08-04 37 views
0

那为什么当我们做一个客户端编程',我们通过我们要连接到喜欢这个主机的IP:关于通过IP来有sockaddr_in结构

their_addr.sin_addr = *((struct in_addr *)he->h_addr); 

但这不起作用:

their_addr.sin_addr.s_addr = inet_addr("192.168.1.3"); 

,但是当我们做一个服务器程序,这个工程:

local_addr.sin_addr.s_addr=INADDR_ANY; 
+0

欢迎来到StackOverflow。 'h_addr'的例子是当你使用'gethostbyname()'(不推荐使用''getaddrinfo()')来动态查找一个主机名的IP地址。 'inet_addr()'示例也可以正常工作。 'sin_addr.s_addr'被声明为一个32位的'in_addr_t'或'ulong'(取决于平台),以网络字节顺序表示,'inet_addr()'返回这样一个值,只要它的输入字符串表示为有效点IPv4地址(这是你的例子)。如果遇到问题,请提供[最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 –

回答

0

当你创建你想连接到特定服务器的客户端。

当您制作服务器时,您(通常)想要通过所有本地IP地址接受连接。

这种情况没有可比性。