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

妮妮云(119元/季)日本CN2 2核2G 30M 119元/季

妮妮云的知名度应该也不用多介绍了,妮妮云旗下的云产品提供商,相比起他家其他的产品,云产品还是非常良心的,经常出了一些优惠活动,前段时间的八折活动推出了很多优质产品,近期商家秒杀活动又上线了,秒杀产品比较全面,除了ECS和轻量云,还有一些免费空间、增值代购、云数据库等,如果你是刚入行安稳做站的朋友,可以先入手一个119/元季付的ECS来起步,非常稳定。官网地址:www.niniyun.com活动专区...

GreenCloudVPS$20/年多国机房可选,1核@Ryzen 3950x/1GB内存/30GB NVMe/10Gbps端口月流量2TB

GreencloudVPS此次在四个机房都上线10Gbps大带宽VPS,并且全部采用AMD处理器,其中美国芝加哥机房采用Ryzen 3950x处理器,新加坡、荷兰阿姆斯特丹、美国杰克逊维尔机房采用Ryzen 3960x处理器,全部都是RAID-1 NVMe硬盘、DDR4 2666Mhz内存,GreenCloudVPS本次促销的便宜VPS最低仅需20美元/年,支持支付宝、银联和paypal。Gree...

wordpress通用企业主题 wordpress高级企业自适应主题

wordpress高级企业自适应主题,通用型企业展示平台 + 流行宽屏设计,自适应PC+移动端屏幕设备,完美企业站功能体验+高效的自定义设置平台。一套完美自适应多终端移动屏幕设备的WordPress高级企业自适应主题, 主题设置模块包括:基本设置、首页设置、社会化网络设置、底部设置、SEO设置; 可以自定义设置网站通用功能模块、相关栏目、在线客服及更多网站功能。点击进入:wordpress高级企业...

sockaddr为你推荐
软件开发的周期软件生命周期为什么将软件开发过程划分几个阶段?spotlight搜索是什么spotlight是什么意思百度创业史简论《创业史》的思想内容.艺术手法印象城市游戏论坛宙斯众神之王下的地图为什么没有?微信语音在哪个文件夹怎么把微信语音导出来 从哪个文件夹导出啊智能公共广播系统智能广播的系统内容金山铁路最新时刻表请问现在轨道交通22号线金山铁路是个什么情况?据说9月28日就开通了啊~~~魔兽世界密保卡WOW现在的密保卡怎么弄?联通玩电信游戏我联通的能进电信去玩吗如何修改手机ip安卓手机怎样设置ID
a5域名交易 日本软银 独享100m cpanel主机 搬瓦工官网 便宜建站 paypal认证 外国空间 sub-process 个人免费空间 免费mysql bgp双线 hostloc 服务器合租 美国免费空间 广州虚拟主机 中国域名 杭州电信宽带优惠 七十九刀 google搜索打不开 更多