16_网络IPC2-寻址

进程标识

字节序

采用大小模式对数据进行存放的主要区别在于在存放的字节顺序,大端方式将高位存放在低地址,小端方式将高位存放在高地址。

采用大端方式进行数据存放符合人类的正常思维,而采用小端方式进行数据存放利于计算机处理。到目前为止,采用大端或者小端进行数据存放,其孰优孰劣也没有定论。

地址格式

sockaddr 依赖于当前用到的协议族中的地址信息 The sockaddr structure is defined as something like:

复制代码
   struct sockaddr {
       sa_family_t sa_family;
       char        sa_data[14];
   }

不同的协议族 来 绑定自己这端的地址 所用的结构体是不一样的。所以是不存在 struct sockaddr 类型的。所以我们的处理方式是:我们用的是哪一个协议族,就把该协议族地址作为addr ,然后再把地址长度写到addrlen

AF_INET 协议族中的 协议地址类型为 struct sockaddr_in

复制代码
/*
注意 :IP地址和端口,是需跟着网络一起发送的。代表自己的身份
*/

 struct sockaddr_in {
	  //协议族 address family: AF_INET
       sa_family_t    sin_family; 

 	  //需要的端口
      in_port_t      sin_port;  

//IP地址 并非点分式,而是大整数internet address ,用的时候需要格式转换:inet_pton()
      struct in_addr sin_addr;   
 };

/* Internet address. */
 struct in_addr {
     uint32_t       s_addr;     /* address in network byte order */
 };

二进制地址格式 与 点分十进制字符表示(a.b.c.d) 相互转换

将套接字与地址关联

获取 绑定到套接字的地址

相关推荐
xiaoye-duck4 分钟前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
zx_741484811 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS1 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿1 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
做运维的阿瑞2 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲3 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
广州宏帝箱包3 小时前
出口箱包的包装标准:防潮、防摔、运输安全的设计要点
大数据·网络
彧azz3 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试
updayday8543 小时前
离职域账号状态变更与Ping64操作记录核对
大数据·网络·数据库·安全·智能路由器
susplus4 小时前
【ARM 裸机开发 (IMX6ULL-mini)】GNU工具、Makefile 工程构建、链接脚本详解|C 语言点灯 + 蜂鸣器驱动
linux·arm·makefile·imx6ull