本帖最后由 ぉ沙皮狗的忧伤 于 2021-3-8 17:28 编辑
参考网址:https://blog.csdn.net/qingzhuyuxian/article/details/79736821
struct sockaddr 和 struct sockaddr_in 这两个结构体用来处理网络通信的地址。
一、sockaddr
sockaddr在头文件#include <sys/socket.h>中定义,sockaddr的缺陷是:sa_data把目标地址和端口信息混在一起了,如下:
- struct sockaddr {
- sa_family_t sin_family; //地址族
- char sa_data[14]; //14字节,包含套接字中的目标地址和端口信息
- };
复制代码
二、sockaddr_in sockaddr_in在头文件#include<netinet/in.h>或#include <arpa/inet.h>中定义,该结构体解决了sockaddr的缺陷,把port和addr 分开储存在两个变量中,如下:
|