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位存进去。