嵌入式网络编程第一章

上传人:博****1 文档编号:593285513 上传时间:2024-09-24 格式:PPT 页数:33 大小:423.84KB
返回 下载 相关 举报
嵌入式网络编程第一章_第1页
第1页 / 共33页
嵌入式网络编程第一章_第2页
第2页 / 共33页
嵌入式网络编程第一章_第3页
第3页 / 共33页
嵌入式网络编程第一章_第4页
第4页 / 共33页
嵌入式网络编程第一章_第5页
第5页 / 共33页
点击查看更多>>
资源描述

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

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

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

3、eturn(c.b=1);CPU是大端则返回0,是小端则返回1。 网络编程概念网络字节序:网络上传输数据时所使用的字节顺序。主机字节序:主机中表示数据所使用的字节顺序。网络字节序是确定的,主机字节序是不同的网络字节序和主机字节序在进行网络通信时要进行相互转换。 网络编程概念网络字节序使用大端模式。不同CPU和OS的主机字节序如下:CPUOS字字节序序Intelx86全部小端MIPSNT小端MIPSUNIX大端ARM全部大/小端第一章 网络编程概述网络编程概念网络编程模型 网络编程模型Unix/Linux网络I/O模型Windows网络I/O模型线程模型进程模型成熟的I/O框架 Unix/Lin

4、ux网络I/O模型阻塞I/O模型(BlockingI/O)非阻塞I/O模型(Non-blockingI/O)I/O复用模型select、poll和epoll(I/OMultiplexing)信号驱动I/O模型(SignalDrivenI/O,SIGIO)异步I/O模型(AsynchronousI/O)Unix/Linux网络I/O模型-阻塞I/O模型(BlockingI/O) Unix/Linux网络I/O模型Unix/Linux网络I/O模型-非阻塞I/O模型(Non-blockingI/O) Unix/Linux网络I/O模型 Unix/Linux网络I/O模型I/O复用模型(I/OMul

5、tiplexing) Unix/Linux网络I/O模型信号驱动I/O模型(SignalDrivenI/O,SIGIO) Unix/Linux网络I/O模型异步I/O模型(AsynchronousI/O) Unix/Linux网络I/O模型比较 网络编程模型同步I/O:同步I/O操作导致请求进程被阻塞,直到I/O操作完成。(I/O操作是指真实的I/O操作)异步I/O:异步I/O操作不导致请求进程被阻塞。同步I/O操作包括阻塞I/O模型、非阻塞I/O模型、I/O复用模型、信号驱动I/O模型。异步I/O操作包括异步I/O模型 Windows网络I/O模型阻塞和非阻塞模型选择模型(Select)异步

6、选择模型(WSAAsyncSelect)事件选择模型(WSAEventSelect)重叠I/O模型(OverlappedI/O)I/O完成端口模型(I/OCompletionPort,IOCP) Windows网络I/O模型异步选择模型(WSAAsyncSelect)Select模型的异步版本基于Windows的消息机制需要创建窗口 Windows网络I/O模型阻塞和非阻塞模型选择模型(Select)异步选择模型(WSAAsyncSelect)事件选择模型(WSAEventSelect)重叠I/O模型(OverlappedI/O)I/O完成端口模型(I/OCompletionPort,IOCP

7、) Windows网络I/O模型事件选择模型(WSAEventSelect)Select模型的异步版本基于事件机制事件处理函数处理事件,不需要创建窗口 Windows网络I/O模型阻塞和非阻塞模型选择模型(Select)异步选择模型(WSAAsyncSelect)事件选择模型(WSAEventSelect)重叠I/O模型(OverlappedI/O)I/O完成端口模型(I/OCompletionPort,IOCP) Windows网络I/O模型重叠I/O模型(OverlappedI/O)异步I/O模型,使用一个重叠的数据结构一次投递一个或多个WinsockI/O请求。同一个线程可以对多个I/O

8、对象进行I/O操作,不同的线程也可以对同一个I/O对象进行操作。事件对象通知:事件通知的方式。完成例程:回调函数方式。重叠I/O模型能达到更佳的系统性能,高于选择模型、异步选择模型和事件模型 Windows网络I/O模型阻塞和非阻塞模型选择模型(Select)异步选择模型(WSAAsyncSelect)事件选择模型(WSAEventSelect)重叠I/O模型(OverlappedI/O)I/O完成端口模型(I/OCompletionPort,IOCP) Windows网络I/O模型I/O完成端口模型(I/OCompletionPort,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框架ACEASIOLibev(Libevent)等等第一章 网络编程概述网络编程概念 网络编程、字节序网络编程模型Unix/Linux网络编程模型、Windows网络编程模型、线程模型、进程模型和成熟的I/O框架

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号