您所在的位置:读书频道 > 操作系统 > Linux > 13.1.2 套接字编程相关数据结构

13.1.2 套接字编程相关数据结构

2007-11-13 10:03 杜华 人民邮电出版社 字号:T | T
一键收藏,随时查看,分享好友!

《Linux编程技术详解》第13章的主要内容是Linux网络编程,本小节讲的是套接字编程相关数据结构。

AD:

13.1.2  套接字编程相关数据结构

在开发使用套接字进行通信的程序时,常会用到sockaddr数据结构或sockaddr_in数据结构。sockaddr数据结构用于保存套接字的地址信息,具体定义如下:

    struct sockaddr{ 
unsigned short sa_family;
char sa_data[14]
};

sa_family:用于指定地址族,如果是TCP/IP通信,该值取PF_INET。
 
sa_data:用于保存套接字的IP地址和端口号信息。

而sockaddr_in数据结构与sockaddr类似,该结构体的定义如下:

   struct sockaddr_in { 
short int sin_family;
unsigned short int sin_port;
struct in_addr sin_addr;
unsigned char sin_zero[8];
};

sin_family:用于指定地址族。
 
sin_port:套接字通信的端口号。
 
sin_addr:通信的IP地址。
 
sin_zero[8]:用以填充0,保持与struct sockaddr同样大小。

由于sockaddr数据结构与sockaddr_in数据结构的大小是相同的,指向sockaddr_in的指针可以通过强制转换,转换成指向sockaddr结构的指针。

【责任编辑:杜书 TEL:(010)68476606】

回书目   上一节   下一节

分享到:

关于套接字  编程  数据结构  Linux  Linux编程技术详解的更多文章

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>
  • 互联网运营之道
    互联网运营之道
    《互联网运营之道》内容由运营方法论切入,包括运营的
  • 奔跑吧Ansible
    奔跑吧Ansible
    Ansible是近年用户量急速蹿升的开源配置管理工具。在A
  • Redis实战
    Redis实战
    本书深入浅出地介绍了Redis的5种数据类型,并通过多个

读书

网管第一课——计算机网络原理
本书是《网管第一课》系列图书中的第一本,是专门针对高校和培训机构编写的,其主要特点是内容细而精、针对性强。书中内容全是经

最新热帖

更多>>

51CTO旗下网站

领先的IT技术网站 51CTO 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院