linux socket编程记录2

1、寻址方式

套接字需要在各种网络协议中使用,为了区分程序使用的网络协议必须使用同一的寻址方式。TCP/IP地址族中统一的套接字地址结构如下

View Code
1 struct sockaddr_in
2 {
3 short sin_family; // 协议族
4 unsigned short sin_port; // 端口
5 struct in_addr sin_addr; // IP地址
6 char sin_zero[8]; // 备用
7 };

结构成员变量sin_addr表示32位的IP地址结构,定义如下

 

View Code
 1 struct in_addr
2 {
3 union
4 {
5 struct
6 {
7 unsigned char s_b1, s_b2, s_b3, s_b4;
8 }S_un_b;
9 struct
10 {
11 unsingned short s_w1, s_w2;
12 }S_un_w;
13 unsigned long S_addr;
14 }S_un;
15 };

通常,网络编程中使用1个u_long型的字符描述IP地址即可

 

View Code
1 sockaddr_in addr;
2 addr.sin_addr.s_addr = inet_addr("192.168.1.1");

2、字节顺序

socket编程中,传输数据的字节顺序以网络字节顺序和主机字节顺序为主。网络字节顺序将数据中最重要的字节首先存储,主机字节顺序将不重要的数据首先存储。几个字节顺序转换的函数如下

 

View Code

posted on 2012-01-14 09:41  快跑蜗牛  阅读(110)  评论(0编辑  收藏  举报

导航