sockaddr_in(sockaddr_in初始化)

http://www.itjxue.com  2023-02-10 13:27  来源:未知  点击次数: 

SOCKADDR_IN结构中的sin_family ,sin_addr各是什么具体意思?

sin_family表示协议簇,一般用AF_INET表示TCP/IP协议。

sin_addr是一个联合体,用联合体就可以使用多种方式表示IP地址。一般我们使用其中的最后一种方式,即用无符号长整型数据来表示IP地址。此时,用的是s_nu数据成员,s_un是一个结构体,其中只有一个数据成员,即s_addr。

使用方式:

变量.sin_family=AF_INET;

变量.sin_addr.S_un.S.addr=htonl("IP地址");

sockaddr_in问题【c++】

函数inet_addr的作用其实就是把"127.0.0.1"这样的字符串ip地址转换成0x0100007F这样的32位整数。

sin_addr其实是个4字节联合体,S_addr是它的int模式。

inet_ntoa接受的类型就是in_addr所以就直接传sin_addr了

---

另外楼上说的s和in其实分别代表socket和internet...

socket中sockaddr_in里面的S_un_w该怎么用

struct in_addr 这个结构体里面是个联合体,这个联合体的大小固定了是32位,把32位分4等分,2等分。你要用S_un_w 那么就把ip分成16 位和16位存进去。

(责任编辑:IT教学网)

更多

相关CorelDraw教程文章

推荐CorelDraw教程文章