struct sockaddr和struct sockaddr_in
来源:互联网 发布:淘宝十年产品事扫描 编辑:程序博客网 时间:2024/05/23 15:50
struct sockaddr和struct sockaddr_in这两个结构体用来处理网络通信的地址。
网络中的地址包含3个方面的属性:
1 地址类型: ipv4还是ipv6
2 ip地址
3 端口
linux/socket.h中
struct sockaddr { sa_family_t sa_family; /* address family, AF_xxx */ char sa_data[14]; /* 14 bytes of protocol address */};
linux/in.h定义了struct sockaddr_in结构体
struct sockaddr_in { short sin_family; // 2 bytes e.g. AF_INET, AF_INET6 unsigned short sin_port; // 2 bytes e.g. htons(3490) struct in_addr sin_addr; // 4 bytes see struct in_addr, below char sin_zero[8]; // 8 bytes zero this if you want to};struct in_addr { unsigned long s_addr; // 4 bytes load with inet_pton()};
这两个结构体一样大,都是16个字节,而且都有family属性,不同的是:
sockaddr用其余14个字节来表示sa_data,而sockaddr_in把14个字节拆分成sin_port, sin_addr和sin_zero
分别表示端口、ip地址。sin_zero用来填充字节使sockaddr_in和sockaddr保持一样大小。
阅读全文
0 0
- struct sockaddr_in 和 struct sockaddr
- struct sockaddr和struct sockaddr_in
- struct sockaddr_in和struct sockaddr区别
- struct sockaddr_in和struct sockaddr区别
- struct sockaddr_in和struct sockaddr区别
- struct sockaddr和struct sockaddr_in结构
- struct sockaddr和struct sockaddr_in和struct in_addr
- struct sockaddr 与 struct sockaddr_in
- struct sockaddr 与 struct sockaddr_in
- struct sockaddr 与 struct sockaddr_in
- struct sockaddr 与 struct sockaddr_in
- struct sockaddr与struct sockaddr_in
- struct sockaddr、sockaddr_in
- struct sockaddr 和 sockaddr_in 的区别
- struct sockaddr_in, struct sockaddr,struct in_addr
- struct sockaddr ,struct sockaddr_in,struct in_addr
- struct sockaddr,struct sockaddr_in, struct in_addr
- struct sockaddr_in和struct sockaddr有什么区别
- 第四章 Thread Executors(Executors多线程架构)【下】
- jquery+ajax+mysql+php上拉加载瀑布流效果或者jquery+ajax+mysql+php滚动条向下滚动瀑布流效果加载
- dubbo--学习
- MultiActionController,PropertiesMethodNameResolver,ParameterMethodNameResolver简单例子
- java中的排序sort()函数的使用
- struct sockaddr和struct sockaddr_in
- 深入浅出JMS(四)--Spring和ActiveMQ整合的完整实例
- 英尺计算, 浮点误差,单目运算符
- 用c实现进程监控,如果某一进程退出则重启
- 第一期阿里云高校工作坊申办启动你想参加吗?
- OpenCV 环境配置
- 4java多线程实现方式
- VMware三种联网方式
- 机器学习笔记-利用线性模型进行分类