嵌入式Linux网络编程(一)
2015-12-04 10:51
731 查看
网络协议
国际标准组织(ISO)制定了OSI模型,把网络通信分为7层。而TCP/IP将网络通信分为4层:应用层,传输层,网络互连层,网络接口层。
Socket接口是TCP/IP网络的API,定义了许多函数和例子。
1.网络地址:
网络地址的表示主要通过两个重要的数据类型,结构体:sockaddr和sockaddr_in。
(1)结构体sockaddr
struct sockaddr{
unsigned short sa_family; /*地址族,AF_xxx*/
char sa_data[14]; /*14字节的协议地址*/
};
sa_family: 一般是AF_INET,代表Internet(TCP/IP)地址族的IPV4协议。
sa_data: 包含了一些远程计算机的IP地址,端口号和套接字的数目。
(2)结构体sockaddr_in
struct sockaddr_in{
short int sin_family; /*地址族*/
unsigned short int sin_port; /*端口号*/
struct in_addr sin_addr; /*IP地址*/
unsigned char sin_zero[8]; /*填充0以保持大小*/
}
sin_zero用来将sockaddr_in结构填充到与struct sockaddr同样的长度。
2.IP地址转换
在网络中IP都是点分十进制的格式,如"192.168.0.1",而在struct in_addr结构中用的是32位的IP,上面那个32位IP转换可以用到下面两个函数:
int inet_aton(const char *cp,struct in_addr *inp)
char *inet_ntoa(struct in_addr in)
第一个函数表示将“a.b.c.d”的IP转换成32位的IP,存储在inp指针中;第二个函数将32位IP转换成“a.b.c.d”的格式。
国际标准组织(ISO)制定了OSI模型,把网络通信分为7层。而TCP/IP将网络通信分为4层:应用层,传输层,网络互连层,网络接口层。
Socket接口是TCP/IP网络的API,定义了许多函数和例子。
1.网络地址:
网络地址的表示主要通过两个重要的数据类型,结构体:sockaddr和sockaddr_in。
(1)结构体sockaddr
struct sockaddr{
unsigned short sa_family; /*地址族,AF_xxx*/
char sa_data[14]; /*14字节的协议地址*/
};
sa_family: 一般是AF_INET,代表Internet(TCP/IP)地址族的IPV4协议。
sa_data: 包含了一些远程计算机的IP地址,端口号和套接字的数目。
(2)结构体sockaddr_in
struct sockaddr_in{
short int sin_family; /*地址族*/
unsigned short int sin_port; /*端口号*/
struct in_addr sin_addr; /*IP地址*/
unsigned char sin_zero[8]; /*填充0以保持大小*/
}
sin_zero用来将sockaddr_in结构填充到与struct sockaddr同样的长度。
2.IP地址转换
在网络中IP都是点分十进制的格式,如"192.168.0.1",而在struct in_addr结构中用的是32位的IP,上面那个32位IP转换可以用到下面两个函数:
int inet_aton(const char *cp,struct in_addr *inp)
char *inet_ntoa(struct in_addr in)
第一个函数表示将“a.b.c.d”的IP转换成32位的IP,存储在inp指针中;第二个函数将32位IP转换成“a.b.c.d”的格式。
相关文章推荐
- 常见HTTP状态码
- HTTPS 通信流程(签名、数字证书)
- HTTP 错误405.0 - Method Not Allowed
- 在内部网络为edX配置视频服务
- hdu 4292 Food 网络流
- 从Linux内核中获取TCP数据包到用户程序。
- 重霾锁城 数据中心如何应对空气污染?
- http://blog.163.com/zhaoyanping_1125/blog/static/20132915320120711355117/
- httpclient基础
- Android中获取网络图片的三种方法
- TCP,IP详解,卷一:协议学习笔记之第二章链路层
- 脉络清晰的BP神经网络讲解,赞
- 脉络清晰的BP神经网络讲解,赞
- HTTPS和HTTP的区别
- Nginx配置SSL证书部署HTTPS网站
- CNN网络提取哪层输出作为最后提取的特征为宜?
- iOS 网络与多线程--4.同步Post方式的网络请求
- 《TCP/IP详解 卷1:协议》 读书笔记 第九章 IP选路
- 忘记IP 大热“超级IP”才能大卖
- httpd.conf的配置