sockaddrstruct sockaddr_in addr是什么意思?求大神解答

sockaddr  时间:2021-07-19  阅读:()

SOCKADDR_IN的基本结构

在windows/linux下有下面结构: sockaddr结构 struct sockaddr { unsigned short sa_family;/*addressfamily,AF_xxx*/ char sa_data[14];/*14bytesofprotocoladdress*/ }; sa_family是地址家族,一般都是“AF_xxx”的形式。

通常大多用的是都是AF_INET,代表TCP/IP协议族。

sa_data是14字节协议地址。

此数据结构用做bind、connect、recvfrom、sendto等函数的参数,指明地址信息。

但一般编程中并不直接针对此数据结构操作,而是使用另一个与sockaddr等价的数据结构 sockaddr_in(/in.h中定义): struct?sockaddr_in{short?sin_family;/*Address?family一般来说AF_INET(地址族)PF_INET(协议族)*/unsigned?short?sin_port;/*Port?number(必须要采用网络数据格式,普通数字可以用htons()函数转换成网络数据格式的数字)*/struct?in_addr?sin_addr;/*IP?address?work?byte?order(?address)*/unsigned?char?sin_zero[8];/*Same?size?as?struct?sockaddr没有实际意义,只是为了 跟SOCKADDR结构在内存中对齐*/};(在ws2def.h中定义): struct?sockaddr_in{????#if(_WIN32_WINNT<0x0600)????short?sin_family;????#else//(_WIN32_WINNT<0x0600)????address_family?sin_family;????#endif//(_WIN32_WINNT<0x0600)????ushort?sin_port;????in_addr?sin_addr;????char?sin_zero[8];} (在WinSock2.h中定义): struct?sockaddr_in?{????????short???sin_family;????????u_short?sin_port;????????struct??in_addr?sin_addr;????????char????sin_zero[8];}; 在linux下: in_addr结构 typedef?uint32_t?in_addr_t;struct?in_addr??{????in_addr_t?s_addr;??};在windows下: typedef?struct?in_addr{????union{????????????struct?{?unsigned?char?s_b1,s_b2,s_b3,s_b4;?}?S_un_b;????????????struct?{?unsigned?short?s_w1,s_w2;?}?S_un_w;????????????unsigned?long?S_addr;????}S_un;}in_addr;更多参考:in_addr

如何将IP地址转换成sockaddr

地址的字节序不用转换 SockAdd_In.sin_addr.S_addr :=_addr(PAnsiChar(IP)); 另外请注意delphi的版本, 如果高版本的(delphi2009以上)用下面的 SockAdd_In.sin_addr.S_addr :=_addr(PAnsiChar(AnsiString(IP)));

在套接字编程里常出现(struct sockaddr *)&server,这个结构是什么意思?

这个是说把server变量所在地址的数据类型转换为sockaddr,sockaddr从字面上理解就是地址的意思。

在API里,套接字不仅仅可以用于TCP/IP协议下,也可以用于NETBOIS等早期的协议。

简单说就是多协议公用的标识地址的结构

struct sockaddr_in addr是什么意思?求大神解答

struct sockaddr_in是已经声明了的结构名,这里当作类型名来使用,如基础类型名int,double等等,addr被声明为struct sockaddr_in类型的变量,就像int a;中的a一样。

Nocser:马来西亚独立服务器促销$60.00/月

Nocser刚刚在WHT发布了几款促销服务器,Intel Xeon X3430,8GB内存,1TB HDD,30M不限流量,月付$60.00。Nocser是一家注册于马来西亚的主机商,主要经营虚拟主机、VPS和马来西亚独立服务器业务,数据中心位于马来西亚AIMS机房,线路方面,AIMS到国内电信一般,绕日本NTT;联通和移动比较友好,联通走新加坡,移动走香港,延迟都在100左右。促销马来西亚服务器...

95IDC香港特价物理机服务器月付299元起,5个ip/BGP+CN2线路;美国CERA服务器仅499元/月起

95idc是一家香港公司,主要产品香港GIA线路沙田CN2线路独服,美国CERA高防服务器,日本CN2直连服务器,即日起,购买香港/日本云主机,在今年3月份,95IDC推出来一款香港物理机/香港多ip站群服务器,BGP+CN2线路终身7折,月付350元起。不过今天,推荐一个价格更美的香港物理机,5个ip,BGP+CN2线路,月付299元起,有需要的,可以关注一下。95idc优惠码:优惠码:596J...

王小玉网-美国洛杉矶2核4G 20元/月,香港日本CN2 2核2G/119元/季,美国300G高防/80元/月!

 活动方案:美国洛杉矶 E5 2696V2 2核4G20M带宽100G流量20元/月美国洛杉矶E5 2696V2 2核4G100M带宽1000G流量99元/季香港CN2 E5 2660V2 2核2G30M CN2500G流量119元/季日本CN2E5 2660 2核2G30M CN2 500G流量119元/季美国300G高防 真实防御E5 2696V2 2核2G30M...

sockaddr为你推荐
网络小说赚钱写网络小说一个月能赚多少钱啊?kx驱动安装教程win7下怎么安装KX驱动,应该这么做更好一些谷歌德语在线翻译哪个 电脑浏览器 可以自动在线翻译英语德语法语 等一系列的语音,最重要的是可以完全翻译英语的浏美国大选投票实时数据美国大选每个州的选举人票多少是怎么定的qq空间个性域名QQ空间里什么是 空间个性域名windowsphone手机谁能给说说微软Windows phone 手机啊?淘气鸟乌儿很淘气,飞来飞去,蹦蹦跳跳,请你用“一会儿…一会儿…一会儿…”写写鸟儿?vs2005快捷键vs中的一个快捷键催收软件哪个好我也欠了好多都是七天贷款高利息的,没钱还,今天开始催收,还爆了我的通讯录,弄得我想死的心都有了!智能公共广播系统智能公共广播系统js-3301数码mp3编程器怎么使用
论坛虚拟主机 网站域名备案查询 cybermonday westhost 韩国空间 cpanel主机 cloudstack 全站静态化 河南m值兑换 129邮箱 天翼云盘 免费私人服务器 沈阳主机托管 web应用服务器 畅行云 摩尔庄园注册 群英网络 测试网速命令 好看的空间 web服务器 更多