【Linux基础】套接字数据结构

本文介绍了C程序中常用的套接字数据结构sockaddr和sockaddr_in,详细解释了这两种结构体的字段含义及用途,并指出它们之间的转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C程序进行套接字编程时,常会使用到sockaddr数据类型和sockaddr_in数据类型。这两种数据类型是系统中定义的结构体,用于保存套接字信息。
下面首先介绍这两个重要的数据类型:sockaddr和sockaddr_in,这两个结构类型都是用来保存 socket 信息的,如下所示:
struct sockaddr {
unsigned short sin_family; /*地址族*/
char sin_data[14];
/*14 字节的协议地址,包含该 socket IP 地址和端口号。*/
};
struct sockaddr_in {
short int sin_family; /*地址族*/
unsigned short int sin_port; /*端口号*/
struct in_addr sin_addr; /*IP 地址*/
unsigned char sin_zero[8];
/*填充 0 以保持与 struct sockaddr 同样大小*/
};
这两个数据类型是等效的,可以相互转化,通常sockaddr_in数据类型使用更为方便。在建立socketadd或sockaddr_in后,就可以对该socket进行适当的操作了。
sin_family字段可选的常见值如表 10‑2所示
本文转载于 唯C教育,【Linux基础】套接字数据结构
http://www.weicedu.com/forum.php?mod=viewthread&tid=215&fromuid=7
(出处: http://www.weicedu.com/)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值