嵌入式网络编程第一章

上传人:w****2 文档编号:23780983 上传时间:2021-06-10 格式:PPTX 页数:33 大小:423.12KB
收藏 版权申诉 举报 下载
嵌入式网络编程第一章_第1页
第1页 / 共33页
嵌入式网络编程第一章_第2页
第2页 / 共33页
嵌入式网络编程第一章_第3页
第3页 / 共33页
资源描述:

《嵌入式网络编程第一章》由会员分享,可在线阅读,更多相关《嵌入式网络编程第一章(33页珍藏版)》请在装配图网上搜索。

1、嵌入式网络编程 课程介绍课程类别:专业核心课课程学时:40学时,上课16学时,实验24学时考核方式:平时(10%)+实验(30%)+期末考试(60%)先修课程:计算机网络基础、程序设计方法和操作系统 课程介绍教材:计算机网络编程与数据通信,罗惠琼等,国防工业出版社参考资料:计算机网络:自顶向下方法、UNIX网络编程卷1:套接字联网API(第3版)、Linux网络编程、Windows网络编程、GSM 07.07规范、CAN 规范 V2.0 课程内容套接字网络编程串口通信编程 GPRS和AT指令 CAN总线及其编程 第一章 网络编程概述网络编程概念网络编程模型 1.1 网络编程概念网络编程:通过使

2、用套接字来达到进程间通信目的的编程。网络编程是基于传输层及其之上提供的服务接口进行编程,如:Unix/Linux提供Socket套接字编程接口,Windows提供WinSock套接字编程接口。网络编程的语言:C、C+、Java、PHP、ASP、JSP、.NET、C#等。 1.1 网络编程概念网络编程与TCP/IP体系结构的关系 1.1 网络编程概念字节序:不同的CPU和操作系统平台上存储数据的方式不同,包括小端(Little endian)和大端(Big endian)。数据0 x0A0B0C0D的大小端存储形式如下: 1.1 网络编程概念 CPU大小端检测:int checkCPU( ) u

3、nion w int a; char b; c; c.a = 1; return(c.b =1); CPU是大端则返回0,是小端则返回1。 1.1 网络编程概念网络字节序:网络上传输数据时所使用的字节顺序。主机字节序:主机中表示数据所使用的字节顺序。网络字节序是确定的,主机字节序是不同的网络字节序和主机字节序在进行网络通信时要进行相互转换。 1.1 网络编程概念网络字节序使用大端模式。不同CPU和OS的主机字节序如下:CPU OS字节序Intel x86全部小端MIPS NT小端MIPS UNIX大端ARM全部大/小端 第一章 网络编程概述网络编程概念网络编程模型 1.2 网络编程模型 Uni

4、x/Linux网络I/O模型 Windows网络I/O模型线程模型进程模型成熟的I/O框架 1.2.1 Unix/Linux网络I/O模型阻塞I/O模型(Blocking I/O)非阻塞I/O模型(Non-blocking I/O) I/O复用模型select、poll和epoll(I/O Multiplexing)信号驱动I/O模型(Signal Driven I/O,SIGIO)异步I/O模型(Asynchronous I/O) Unix/Linux网络I/O模型-阻塞I/O模型(Blocking I/O)1.2.1 Unix/Linux网络I/O模型 Unix/Linux网络I/O模型-

5、非阻塞I/O模型(Non-blocking I/O)1.2.1 Unix/Linux网络I/O模型 1.2.1 Unix/Linux网络I/O模型I/O复用模型(I/O Multiplexing) 1.2.1 Unix/Linux网络I/O模型信号驱动I/O模型(Signal Driven I/O,SIGIO) 1.2.1 Unix/Linux网络I/O模型异步I/O模型(Asynchronous I/O) 1.2.1 Unix/Linux网络I/O模型比较 1.2 网络编程模型同步I/O:同步I/O操作导致请求进程被阻塞,直到I/O操作完成。(I/O操作是指真实的I/O操作)异步I/O:异步

6、I/O操作不导致请求进程被阻塞。同步I/O操作包括阻塞I/O模型、非阻塞I/O模型、I/O复用模型、信号驱动I/O模型。异步I/O操作包括异步I/O模型 1.2.2 Windows网络I/O模型阻塞和非阻塞模型选择模型(Select)异步选择模型(WSAAsyncSelect)事件选择模型(WSAEventSelect)重叠I/O模型(Overlapped I/O) I/O完成端口模型(I/O Completion Port,IOCP) 1.2.2 Windows网络I/O模型异步选择模型(WSAAsyncSelect) Select模型的异步版本基于Windows的消息机制需要创建窗口 1.

7、2.2 Windows网络I/O模型阻塞和非阻塞模型选择模型(Select)异步选择模型(WSAAsyncSelect)事件选择模型(WSAEventSelect)重叠I/O模型(Overlapped I/O) I/O完成端口模型(I/O Completion Port,IOCP) 1.2.2 Windows网络I/O模型事件选择模型(WSAEventSelect) Select模型的异步版本基于事件机制事件处理函数处理事件,不需要创建窗口 1.2.2 Windows网络I/O模型阻塞和非阻塞模型选择模型(Select)异步选择模型(WSAAsyncSelect)事件选择模型(WSAEvent

8、Select)重叠I/O模型(Overlapped I/O) I/O完成端口模型(I/O Completion Port,IOCP) 1.2.2 Windows网络I/O模型重叠I/O模型(Overlapped I/O)异步I/O模型,使用一个重叠的数据结构一次投递一个或多个Winsock I/O请求。同一个线程可以对多个I/O对象进行I/O操作,不同的线程也可以对同一个I/O对象进行操作。事件对象通知:事件通知的方式。完成例程:回调函数方式。重叠I/O模型能达到更佳的系统性能,高于选择模型、异步选择模型和事件模型 1.2.2 Windows网络I/O模型阻塞和非阻塞模型选择模型(Select

9、)异步选择模型(WSAAsyncSelect)事件选择模型(WSAEventSelect)重叠I/O模型(Overlapped I/O) I/O完成端口模型(I/O Completion Port,IOCP) 1.2.2 Windows网络I/O模型I/O完成端口模型(I/O Completion Port,IOCP)基于重叠I/O模型使用线程池技术线程数目一般为当前电脑中CPU个数的2倍 1.2.3 线程模型线程模型每个请求创建一个线程,使用阻塞式I/O操作使用线程池,同样使用阻塞式I/O操作使用非阻塞I/O操作+I/O多路复用 Leader/Follower等高级模式 1.2.4 进程模型多个工作进程实现相同的功能多个进程竞争处理客户的请求,但每个请求只被一个进程处理 1.2.5 成熟的I/O框架 ACE ASIO Libev(Libevent)等等 第一章 网络编程概述网络编程概念 网络编程、字节序网络编程模型 Unix/Linux网络编程模型、Windows网络编程模型、线程模型、进程模型和成熟的I/O框架

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!