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一样。

华为云(69元)828促销活动 2G1M云服务器

华为云818上云活动活动截止到8月31日。1、秒杀限时区优惠仅限一单!云服务器秒杀价低至0.59折,每日9点开抢秒杀抢购活动仅限早上9点开始,有限量库存的。2G1M云服务器低至首年69元。2、新用户折扣区优惠仅限一单!购云服务器享3折起加购主机安全及数据库。企业和个人的优惠力度和方案是不同的。比如还有.CN域名首年8元。华为云服务器CPU资源正常没有扣量。3、抽奖活动在8.4-8.31日期间注册并...

妮妮云(100元/月)阿里云香港BGP专线 2核 4G

妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...

限时新网有提供5+个免费域名

有在六月份的时候也有分享过新网域名注册商发布的域名促销活动(这里)。这不在九月份发布秋季域名促销活动,有提供年付16元的.COM域名,同时还有5个+的特殊后缀的域名是免费的。对于新网服务商是曾经非常老牌的域名注册商,早年也是有在他们家注册域名的。我们可以看到,如果有针对新用户的可以领到16元的.COM域名。包括还有首年免费的.XYZ、.SHOP、Space等等后缀的域名。除了.COM域名之外的其他...

sockaddr为你推荐
mobilepartnermobile partner 移动的卡怎么上网限制局域网网速在局域网内怎么限制网速?windows7正版验证windows7正版验证goalgoalgoal为什么西班牙进球,央视解说喊那么多进啦windowsphone手机谁能给说说微软Windows phone 手机啊?angel的意思Angel什么意思云图好看吗云图这部电影好看吗魔兽世界密保卡魔兽世界密保卡绑定联通玩电信游戏我联通的能进电信去玩吗pps电影PPS里面好看的电影.推荐一下.
南通服务器租用 什么是域名解析 美国独立服务器 flashfxp怎么用 hkbn siteground 59.99美元 美国php主机 线路工具 美国php空间 嘟牛 dd444 免费个人空间 双线主机 双11秒杀 阿里校园 卡巴斯基免费试用 绍兴电信 dnspod 华为k3 更多