嵌入式网络编程优秀PPT.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《嵌入式网络编程优秀PPT.ppt》由会员分享,可在线阅读,更多相关《嵌入式网络编程优秀PPT.ppt(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式网络编程嵌入式网络编程你现在浏览的是第一页,共27页8.1 8.1 字节序字节序字节序是由于不同的主处理器和操作系统对大于一个字字节序是由于不同的主处理器和操作系统对大于一个字节的变量在内存中的存放顺序不同而产生的,例如两个字节节的变量在内存中的存放顺序不同而产生的,例如两个字节的的short int和四个字节的和四个字节的int类型变量都有字节序的问题。字类型变量都有字节序的问题。字节序通常有大端字节序和小端字节序的两种分类方法。节序通常有大端字节序和小端字节序的两种分类方法。你现在浏览的是第二页,共27页8.1.1 8.1.1 大端字节序和小端字节序大端字节序和小端字节序字节序是由于
2、字节序是由于CPU和和OS对多字节变量的内存存储顺序对多字节变量的内存存储顺序不同而产生的。不同而产生的。1字节序介绍字节序介绍2字节序的例子字节序的例子你现在浏览的是第三页,共27页8.1.2 8.1.2 字节序转换函数字节序转换函数由于主机的千差万别,主机的字节序不能做到统一,但由于主机的千差万别,主机的字节序不能做到统一,但是对于网络上传输的变量,它们的值必须有一个统一的表示是对于网络上传输的变量,它们的值必须有一个统一的表示方法。网络字节序是指多字节变量在网络传输时的表示方法,方法。网络字节序是指多字节变量在网络传输时的表示方法,网络字节序采用高端字节序的表示方法。这样小端字节序的网络
3、字节序采用高端字节序的表示方法。这样小端字节序的系统通过网络传输变量的时候需要进行字节序的转换,大端系统通过网络传输变量的时候需要进行字节序的转换,大端字节序的变量则不需要进行转换。字节序的变量则不需要进行转换。1字节序转换函数介绍字节序转换函数介绍2字节序转换的方法字节序转换的方法你现在浏览的是第四页,共27页8.1.2 8.1.2 字节序转换函数字节序转换函数你现在浏览的是第五页,共27页8.1.2 8.1.2 字节序转换函数字节序转换函数你现在浏览的是第六页,共27页8.1.3 8.1.3 一个字节序转换的例子一个字节序转换的例子下面的例子是对下面的例子是对16位数值和位数值和32位数值
4、进行字节序转换,位数值进行字节序转换,每种类型的数值进行两次转换,最后打印结果。每种类型的数值进行两次转换,最后打印结果。116位字节序转换结构位字节序转换结构232位字节序转换结构位字节序转换结构3变量值打印函数变量值打印函数showvalue4主函数主函数main516位值位值0 xabcd的二次转换的二次转换632位值位值0 x12345678的二次转换的二次转换7结果打印结果打印8编译运行程序编译运行程序你现在浏览的是第七页,共27页8.2 8.2 字符串字符串IPIP地址和二进制地址和二进制IPIP地址的转换地址的转换人们可以理解的人们可以理解的IP地址表达方式是类似地址表达方式是类
5、似“127.0.0.1”这样的字符串;而计算机理解的则是像这样的字符串;而计算机理解的则是像0 x01111111000000000000000000000001(127.0.0.1)这)这样表达的样表达的IP地址方式。在网络程序的设计中,经常需要进行地址方式。在网络程序的设计中,经常需要进行字符串表达方式的字符串表达方式的IP地址和二进制的地址和二进制的IP地址之间的转换,本地址之间的转换,本节对此类函数进行介绍。节对此类函数进行介绍。你现在浏览的是第八页,共27页8.2.1 inet_xxx()8.2.1 inet_xxx()函数函数Linux操作系统有一组函数用于网络地址的字符串形式操作
6、系统有一组函数用于网络地址的字符串形式和二进制形式之间的转换,其形式为和二进制形式之间的转换,其形式为inet_xxx()。函数的原。函数的原型如下:型如下:#include#include#include 1函数函数inet_aton()2函数函数inet_addr()3函数函数inet_network()4函数函数inet_ntoa()5函数函数inet_makeaddr()6函数函数inet_lnaof()7函数函数inet_netof()8结构结构struct in_addr你现在浏览的是第九页,共27页8.2.2 inet_pton()8.2.2 inet_pton()和和inet_
7、ntop()inet_ntop()函数函数函数函数inet_pton()和函数和函数inet_ntop()是一套安全的协议是一套安全的协议无关的地址转换函数。所谓的无关的地址转换函数。所谓的“安全安全”是相对于是相对于inet_aton()函数的不可重入性来说。这两个函数都是可以重入的,并且函数的不可重入性来说。这两个函数都是可以重入的,并且这些函数支持多种地址类型,包括这些函数支持多种地址类型,包括IPv4和和IPv6。1函数函数inet_pton()2函数函数inet_ntop()你现在浏览的是第十页,共27页8.2.3 8.2.3 使用使用8.2.18.2.1小节地址转换函数的例子小节地
8、址转换函数的例子前面的两个小节对地址转换函数进行了介绍,本节通过前面的两个小节对地址转换函数进行了介绍,本节通过两个例子对上述函数进行简单的说明。两个例子对上述函数进行简单的说明。测试结果表明函数测试结果表明函数inet_ntoa()、inet_addr()是不可重是不可重入的。入的。1初始化设置初始化设置2测试函数测试函数inet_aton()3测试函数测试函数inet_addr()4测试函数测试函数inet_ntoa()5测试函数测试函数inet_ntoa()6测试函数测试函数inet_lnaof()7测试函数测试函数inet_lnaof()8编译运行程序编译运行程序你现在浏览的是第十一页
9、,共27页8.2.4 8.2.4 使用函数使用函数inet_ptoninet_pton和函数和函数inet_ntopinet_ntop的例子的例子下面的代码是使用函数下面的代码是使用函数inet_pton和函数和函数inet_ntop的例的例子。在代码中对如何使用这两个函数使用函数子。在代码中对如何使用这两个函数使用函数inet_pton将字将字符串转换为二进制和使用函数符串转换为二进制和使用函数inet_ntop将二进制将二进制IP地址转化地址转化为字符串的简单实例。为字符串的简单实例。#include#include#include#include#include#define ADDRL
10、EN 16int main(int argc,char*argv)struct in_addr ip;char IPSTR=192.168.1.1;char addrADDRLEN;const char*str=NULL;int err=0;err=inet_pton(AF_INET,IPSTR,&ip);if(err 0)printf(inet_pton:ip,%s value is:0 x%xn,IPSTR,ip.s_addr);ip.s_addr=htonl(19224|16816|128|255);/*192.168.12.255*/str=(const char*)inet_ntop
11、(AF_INET,(void*)&ip,(char*)&addr0,ADDRLEN);if(str)printf(inet_ntop:ip,0 x%x is%sn,ip.s_addr,str);return 0;你现在浏览的是第十二页,共27页8.3 8.3 套接字描述符判定函数套接字描述符判定函数issockettype()issockettype()套接字文件描述符从形式上与通用文件描述符没有区别,套接字文件描述符从形式上与通用文件描述符没有区别,判断一个文件描述符是否是一个套接字描述符可以通过如下判断一个文件描述符是否是一个套接字描述符可以通过如下的方法实现:先调用函数的方法实现:先调用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 网络 编程 优秀 PPT
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内