linux下的socket编程,2--获取对方的ip地址
linux下的C socket编程(2)
获取域名对应的ip地址
经过上面的讨论,如果我们要向链接远程的服务器,我们需要知道对方的ip地址,系统函数gethostbyname便能够帮助我们实现这个目的。他能够获取域名对应的ip地址并且返回一个hostent类型的结果。其中包含了ip地址信息,它的头文件是:netdb.h
1 2 3 4 5 6 7 8 |
|
其中h_addr_list便是存放ip地址的信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
gethostbuname()用来获取域名对应的ip地址,可以参加gethostbyname()来产看更多的用法。
从socket连接中获取对方ip:
由前面能够知道accept()返回的是结构体sockaddr_in,由此很容易得知对方的ip和端口信息。
1 2 |
|
到现在为止,我们已经解除了很多个重要类型。
1、sockaddr_in 连接信息
2、in_addr long 类型的ip地址。
3、sockaddr与sockaddr_in 类似,是通过用socket连接信息。
4、hostent 域名对应的ip信息。用在gethostbyname。