Windows网络编程 第2版 课件 5.2.2 事件选择模型_第1页
Windows网络编程 第2版 课件 5.2.2 事件选择模型_第2页
Windows网络编程 第2版 课件 5.2.2 事件选择模型_第3页
Windows网络编程 第2版 课件 5.2.2 事件选择模型_第4页
Windows网络编程 第2版 课件 5.2.2 事件选择模型_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络编程技术本讲要点:1.事件的概念2.事件选择模型3.事件选择模型服务器的设计5.2.2事件选择模型0102事件的概念事件选择模型

目录/Contents03事件选择模型服务器的设计1.事件的概念“某个人干了某件事”序号事件名触发时机1Clicked用户用鼠标单击窗口的空白区域2Close用户关闭窗口3OnClick用户单击鼠标左键4CloseQuery用户清除或关闭窗口5Deactivate窗口变为非活动状态6DoubleClicked用户双击窗口的空白区域7DragDrop一个可拖动的控件被拖动到窗口上8DragEnter一个可拖动的控件进入窗口9DragLeave一个可拖动的控件离开窗口10DragWithin一个可拖动的控件在窗口内部拖动………………类比1.事件的概念网络事件应用程序用户进程内核①内核接收缓存收到网络传输来的数据②内核发送缓存有空闲可存放发送数据接收缓存发送缓存用户缓存客户队列③客户队列有待处理的连接……套接字主体操作1.事件的概念网络事件应用程序用户进程内核用户缓存…socket…nUsageCount…NetworkEvents…bManualReset…bSignaled…事件内核对象使用计数是否人工重置为非受信状态是否受信0102事件的概念事件选择模型

目录/Contents03事件选择模型服务器的设计2.事件选择模型酒店客房管理101标准间有宽带;有电脑109标准间117标准间201标准间209标准间217标准间301大床房南向102标准间有宽带;有电脑110标准间118标准间202标准间210标准间218标准间302大床房南向103标准间郭靖300.00111标准间119标准间203标准间211标准间219标准间303大床房南向105标准间112标准间有宽带120标准间205标准间212标准间220标准间305大床房南向106标准间113标准间黄蓉50.00121标准间206标准间213标准间306大床房107标准间115标准间有宽带207标准间215标准间307大床房108标准间116标准间208标准间216标准间308大床房2.事件选择模型拷贝数据拷贝完成100……10X10N100100……10X10N内核…系统调用返回句柄系统调用返回系统调用返回就绪对象索引X系统调用返回就绪事件10X●系统调用返回系统调用等待应用程序注册事件对象创建事件对象查询事件对象状态获取就绪事件处理事件关闭事件对象WSACreateEvent

WSAEventSelectWSAWaitForMultipleEventsWSAEnumNetworkEventsaccept/recv/send/close…WSACloseEvent2.事件选择模型函数名称输入返回值WSACreateEventvoid事件对象句柄WSAEventSelect套接字、事件对象句柄、网络操作成功与否WSAWaitForMultipleEvents事件对象数组、等待方式、超时时间就绪事件对象索引值WSAEnumNetworkEvents套接字、事件对象句柄、网络事件结构指针成功与否,网络事件结构WSACloseEvent事件对象句柄成功与否指定网络操作的“位掩码”,如:FD_READ、FD_READ|FD_WRITE……FD_READ内核接收缓存已收到数据FD_WRITE内核发送缓存已清理出空闲区间FD_ACCEPT连接队列有已建立连接FD_CONNECT连接已建立成功FD_CLOSE已和对方关闭连接2.事件选择模型100101102103104105106107108109110111112…1.NcEventslphEventsIndex=WSAWaitForMultipleEvents(...);MyEvent=EventArray[Index-WSA_WAIT_EVENT_0];函数名称输入返回值WSACreateEventvoid事件对象句柄WSAEventSelect套接字、事件对象句柄、网络操作成功与否WSAWaitForMultipleEvents事件对象数组、等待方式、超时时间就绪事件对象索引值WSAEnumNetworkEvents套接字、事件对象句柄、网络事件结构指针成功与否,网络事件结构WSACloseEvent事件对象句柄成功与否2.事件选择模型if(NetwordEvents.lNetworkEvents&FD_READ){//处理I/O事件

……}函数名称输入返回值WSACreateEventvoid事件对象句柄WSAEventSelect套接字、事件对象句柄、网络操作成功与否WSAWaitForMultipleEvents事件对象数组、等待方式、超时时间就绪事件对象索引值WSAEnumNetworkEvents套接字、事件对象句柄、网络事件结构指针成功与否,网络事件结构WSACloseEvent事件对象句柄成功与否typedefstruct_WSANETWORKEVENTS{longlNetworkEvents;intiErrorCode[FD_MAX_EVENTS];}WSANETWORKEVENTS,*LPWSANETWORKEVENTS;0102事件的概念事件选择模型

目录/Contents03事件选择模型服务器的设计3.事件选择模型服务器的设计WSACreateEvent

WSAEventSelectWSAWaitForMultipleEvents(WSAEVENT数组)WSAEnumNetworkEventsclosesocket创建并配置服务器套接字listenrecv/sendacceptWSACloseEvent更新WSAEVENT数组更新WSAEVENT数组3.事件选择模型服务器的设计select()select模型应用程序操作系统同步阻塞recv(send同理)操作系统把有信号的套接字装进fd_set分类处理同步阻塞处理数据数据复制进recv的buffer返回条件就绪套接字集合投递一组套接字WSAEventSelect()事件选择模型应用程序操作系统异步:继续做其他事recv(send同理)操作系统监视将事件置成有信号WSAWaitForMultipleEvents同

温馨提示

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

评论

0/150

提交评论