c语言初始化socket,C语言socket编程----struct sockaddr 和struct sockaddr_in介绍和初始化...

本文介绍了C语言中struct sockaddr_in结构体的详细内容,用于解决sockaddr结构体的缺陷,分别存储地址族、端口号和IP地址。通过实例展示了如何初始化IPv4和IPv6的socket地址,包括inet_addr和inet_pton等函数的使用。
摘要由CSDN通过智能技术生成

sockaddr结构体

struct  sockaddr{

sa_family_t  sa_family; //地址族,最常用的是"AF_INET"(IPV4)和"AF_INET6"(IPV6);

char  sa_data[14];      //包含套接字中的目标地址和端口信息;

};

sockaddr的缺陷:sa_data把目标地址和端口信息混在一起了

sockaddr_in 结构体

sockaddr_in结构体解决了sockaddr的缺陷,把port和addr 分开储存在两个变量中

struct  sockaddr_in/  struct  sockaddr_in6结构体

struct  sockaddr_in{

sa_family_t   sin_family;  //地址族,常用AF_INET

uint16_t         sin_port;     //16位TCP/UDP端口号

struct  in_addr  sin_addr;    //32位IP地址

cha         sin_zero[8]   //不使用

};

struct  in_addr{

in_addr_t    s_addr;      //32位IPV4地址

}

struct sockaddr_in6 {

sa_family_t     sin6_family; /* AF_INET6 */

in_port_t      sin6_port; /* port number */

uint32_t       sin6_flowinfo; /*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值