进程间通信课件.PPTVIP

进程间通信课件.PPT

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
进程间通信 主要内容 本章包括网络编程的部分内容,即进程间的通信。主要内容有进程间通信的基本概念和原理,几种典型的进程间通信的方法,如剪贴板、窗口消息、消息队列、Sockets等,以上述方法为例,讲解了它们的编程模型和编程原理,侧重于数据的发送和接收,并给出了实例。 20.1 进程间通信 20.1.1 基本概念 程序是为了完成某项任务编排的语句序列,它告诉计算机如何执行,因此程序是需要运行的。 进程能描述程序的执行过程而且可以作为共享资源的基本单位。 所谓进程通信是指进程之间可直接以较高的效率传递较多数据的信息交换方式。这种方式中采用的是通信机构,如消息发送和消息接收、邮箱结构等,在进程通信时往往以信件形式(或称消息)传递信息。 所谓信件是指进程之间相互传递的赖以发生交互作用的有结构的数据。 20.1.1 基本概念 进程通信的一般模型 发送机构 接收机构 消息管理 消息管理 发送机构 接收机构 消息发送 信道 操作系统范围 进程Pi 进程Pj 消息接收 消息发送 消息接收 图20.1 进程通信的一般模式 20.1.2 Windows下进程间的通信机制 IPC机制 图20.2 Windows的IPC 机制 是 否 共享内存和 文件映射 动态连接库 匿名管道 DDE 窗口消息 剪贴板 命令行 COM 消息队列 串行/并行通信 命名管道 网络 DDE Windows Sockets 远程过程调用 分布式COM 邮件槽 网络 通信? Stream Sockets Datagram Sockets 是 否 面向 连接? 20.2 窗口消息(1) 20.2.1 COPYDATASTRUCT结构 typedef struct tagCOPYDATASTRUCT { DWORD dwData; DWORD cbData; PVOID lpData; } COPYDATASTRUCT, *PCOPYDATASTRUCT; 20.2.2 WM_COPYDATA消息 20.2 窗口消息(2) 窗口消息的程序框图 输入要传递的信息,确认发送 寻找接收窗体的句柄 找到句柄 弹出未找到句柄的提示 将信息发送到指定窗口 程序起点 结束 否 是 (a) 窗口消息发送端 (b) 窗口消息接收端 图20.3 窗口消息的编程框架 准备接收消息 接收消息并显示 程序起点 结束 WM_COPYDATA消息 是否为 否 是 20.3 消息队列 消息的程序框图 (a) 消息队列发送端 (b) 消息队列接收端 图20.5 消息队列的编程框架 创建 队列 程序起点 结束 输入发 送文本 选择发 送图像 发送信息 到队列 结束 程序起点 弹出 提示 从队列提 取图片 从队列提 取文本 队列为空 否 是 从队列提 取信息 安装Message Queuing Services 通过控制面板手工创建 控制面板-->添加/删除程序-->添加/删除Windows组建-->消息队列服务安装MSMQ。接着要配置MSMQ,方法是打开服务器资源管理器-->本机机器名-->消息队列-->专用队列-->创建有名的队列(例如,队列名为aaa,是程序所需要的)。 通过程序方式创建 if (MessageQueue.Exists(".\\Private$\\aaa")) MyMQ = new MessageQueue(".\\Private$\\aaa"); else MyMQ = MessageQueue.Create(".\\Private$\\aaa"); 20.4 Windows Sockets编程 20.4.1 Sockets简介 计算机A 计算机B 进程a 进程b Socket Socket 图20.6 Socket通信原理 20.4.1 Sockets简介(1) 一个特殊的通信域,例如一个网络连接或者一个进程间通信管道; 一个特殊的通信类型,例如流或数据报; 一个特殊的协议,例如TCP(Transport Control Protocol,传输控制协议)或UDP(User Datagram Protocol,用户报文协议)。 Socket的定义如下: 20.4.1 Sockets简介 (2) 字节流Socket:这是最常用的Socket类型,TCP/IP协议簇中的TCP协议使用此类接口,它提供面向连接的(建立虚电路)、无差错的、发送先后顺序一致的、包长度不限和非重复的网络信包传输。 数据报Socket:TCP/IP协议族中的UDP协议使用此类接口,它是无连接的服务,以独立的信包进行网络传输,信包最大长度为32KB,传输不保证顺序性、可靠性和无重复性,它通常用于单个报文传输

文档评论(0)

子不语 + 关注
官方认证
服务提供商

平安喜乐网络服务,专业制作各类课件,总结,范文等文档,在能力范围内尽量做到有求必应,感谢

认证主体菏泽喜乐网络科技有限公司
IP属地山东
统一社会信用代码/组织机构代码
91371726MA7HJ4DL48

1亿VIP精品文档

相关文档