电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

利用消息队列实现多进程通信过程

利用消息队列实现多进程通信过程_第1页
1/17
利用消息队列实现多进程通信过程_第2页
2/17
利用消息队列实现多进程通信过程_第3页
3/17
课程设计报告 课程名称: Unix 课程设计 设计题目: 利用消息队列实现多进程通信过程 姓 名: 专 业: 网络工程 班 级: 学 号: 计算机科学与技术学院 网络系 2 0 1 3 年 1 2 月 3 0 日 成绩: 哈尔滨理工大学计算机科学与技术学院网络系 课程设计报告 一、 选题背景 在UNIX程序设计中消息队列是使用频率最高的几个对象之一,它常应用于对等进程间的通 信和客户—服务器之间的通信。 采用消息队列作为货物托运渠道可以弥补以下缺陷: (1) 消息队列是一种先进先出的队列型数据结构,可以保证先送的货物先到达,后送的 货物后到达,避免了插队现象。 (2) 消息队列将输出的信息进行了打包处理,这样就可以保证以每个消息为单位进行接收了。 (3) 消息队列还可以将货物进行分类服务,标记各种类别的服务,这样就可以根据货物 类别分别出货。 消息队列是IPC对象的一种与同样提供先进先出服务的管道相比,它有如下特点: (1)消息队列提供了消息的自动拆分功能,同时不能接收两次发送的消息。 (2)消息队列提供了不完全随机读取的服务,引入消息类型后,一个消息队列在逻辑上可以化身为多个不同消息类型的链表,用户可以自主选择接收某条逻辑链表上的消息,而不必依次接收队列的首条消息。 (3)消息队列提供了完全异步的读写服务。 基于以上背景,我们发现利用消息队列实现进程间的通信可以为我们提供方便,也会是通信效率更为提高。 二、 设计思路 可以采用客户-服务器结构,其中服务器端实现各个用户的登录并存储相关信息,客户端通过服务器端获取当前登录用户信息,然后各客户进程通过消息队列实现双向通信。 编程实现两个进程间的通信,一个server(服务器)进程,一个client(客户)进程。 在client(客户)进程下选择注册或者登陆。 若是注册,则 server(服务器)进程分给该客户一个新的登陆账号。多个客户的账号存储在register.txt文件中。 若是选择登陆,登陆成功后服务器进程会显示登陆成功,否则显示登陆失败。登陆后输入你要发送消息的对方的账号,输入账号后,服务器方显示该账号是否合理,如合理,即可实行通信。 三、 主要问题的解决方法和关键技术 实现密码格式登录与注册,通过帐号显示用户名,显示发送消息的日期 四、 程序流程图 哈尔滨理工大学计算机科学与技术学院网络系实验室 实验报告 五、 原程序清单 //client.c #include #include

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

利用消息队列实现多进程通信过程

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群