![消息队列通信实验报告_第1页](http://file4.renrendoc.com/view/6ea80c6d7848a8bf8f35e0db8c7ab4be/6ea80c6d7848a8bf8f35e0db8c7ab4be1.gif)
![消息队列通信实验报告_第2页](http://file4.renrendoc.com/view/6ea80c6d7848a8bf8f35e0db8c7ab4be/6ea80c6d7848a8bf8f35e0db8c7ab4be2.gif)
![消息队列通信实验报告_第3页](http://file4.renrendoc.com/view/6ea80c6d7848a8bf8f35e0db8c7ab4be/6ea80c6d7848a8bf8f35e0db8c7ab4be3.gif)
![消息队列通信实验报告_第4页](http://file4.renrendoc.com/view/6ea80c6d7848a8bf8f35e0db8c7ab4be/6ea80c6d7848a8bf8f35e0db8c7ab4be4.gif)
![消息队列通信实验报告_第5页](http://file4.renrendoc.com/view/6ea80c6d7848a8bf8f35e0db8c7ab4be/6ea80c6d7848a8bf8f35e0db8c7ab4be5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
消息队列通信实验报告
实验6消息队列通信实验目的1、 了解什么是消息、消息队列2、 掌握消息传送的机理实验内容1、消息的创建、发送和接收。使用系统调用msgget(),msgsnd(),msgrev(),及msgctl()编制一长度为1k的消息发送和接收的程序。Msgqid・c#includevstdio・h>#includevsys/types・h>#includevsys/msg・h>/*定义关键/*消息结构#includevsys/ipc・h>#defineMSGKEY75/*定义关键/*消息结构*/{longmtypecharmtext[1030];/*文本长度*/}msg;intmsgqid,i;voidCLIENT(){inti;msgqid=msgget(MSGKEY,0777);
for(i=10;i>=1;i--){msg.mtype=i;printf("(client)sent\n");msgsnd(msgqid,&msg,1024,0);/*发送消息msg入msgid消息队列*/}exit(0);}voidSERVER。{msgqid=msgget(MSGKEY,0777IIPC_CREAT);/*由关键字获得消息队列*/domsgrcv(msgqid,&msg,1030,0,0);/*从msgqid队列接收消息msg*/printf("(server)received\n");}while(msg.mtype!=1); /*消息类型为1时,释放队列*/msgctl(msgqid,IPC_RMID,O);exit(0);}main(){while((i=fork())==-1);if(!i)SERVER。;while((i=fork())==-1);if(!i)CLIENT。;wait(0);wait(0);2、选做实验:模拟从c/s通信客户端client功能:1)显示服务功能菜单Enteryourchoice:SavenoneyTakemoney2) 接收用户键入的功能号进行选择;3) 将用户键入的功能号作为一条消息发送到消息队列,然后结束服务端功能:1) 从消息队列接收client发送的一条消息;2) 根据消息作如下处理:若消息为“1”创建子进程1,子进程1加载服务模块save,该模块显示以下信息:Yourmoneywassaved!若消息为“2”,创建子进程2,子进程2加载服务模块take,该模块显示
以下信息:Pleasetakeyourmoney!等待子进程终止后,server消息对列结束。注意:1)save和take要事先编译连接好,放在同一目录下;2)先运行客户端进程,再运行服务端进程。1、client・c#includevsys/types・h>#includevsys/msg・h>#includevsys/ipc.h>#includevstdio.h>#includevstdlib.h>#defineMSGKEY75structmsgform{longmtype;charmtext[1000];}msg;intmsgqid;voidclient(){/*打开/*打开75#消息队列*/for(i=20;i>=1;i--){msg・mtype=i;
/*发送/*发送msgsnd(msgqid,&msg,1024,0);消息*/}exit(O);}main(){client();}server.c#includevsys/types・h>#includevsys/msg.h>#includevsys/ipc.h>#includevstdio・h>#includevstdlib.h>#defineMSGKEY75structmsgform{longmtype;charmtext[1000];}msg;intmsgqid;voidserver(){msgqid=msgget(MSGKEY,0777IIPC_CREAT);/*创建75#消息队列*/do{msgrcv(msgqid,&msg,1O3O,O,0); /*接收消息*/printf("(server)received%ld\n",msg・mtype);sleep(3);}while(msg・mtype!=1);msgctl(msgqid,IPC_RMID,0);/*删除消息队列,归还资源*/exit(0);}main(){server();实验结果:FileEditViewJemninalTabsHelp[rootf&localhost-]#gcc-oclientclient.c[root^localhost~./client(ctiErit)5已仃t20(client)sent19(client)sent18(client)sent17(client)sent16(client)sent15(client)sent14(client)sent13(client)sent12(client)5ent11(client)5ent10(client)sent9(client)sent8(cLi亡nt亡仃t7(client)sent5(client)5ent5(client)5ent4(client)sent3(client)^ent2(cLi亡nt亡仃t1[rootfaiocalhostT#[]root^fccafhost:^-[root(31ocalhost-]■#gcc-oserverserver.c[root^loolhost-]#./server(server-)received20(server1)received19(server-)received18(server-)received17(server-)received16(server-)received15(server-)received14(server-)received13(server-)received12(server-)received11(server-)received10(server-)received9(serverlreceivedS(server')received7(server-)received6(s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《装配线精益改善》课件
- 《会议介绍简要版》课件
- 《udec数值方法》课件
- 《糖尿病护理》课件
- 2025年全数字摄影测量系统项目发展计划
- 职场简历精讲模板
- 2025年进排气歧管项目发展计划
- 鱼塘修建申请书
- 贫困生助学金申请书怎么
- 失配性疾病预防档案数据库的构建
- 移动宽带注销委托书模板需要a4纸
- 初一下册期末模拟物理质量检测试卷解析1
- 《教育向美而生-》读书分享课件
- 中海地产总部-员工考核手册
- 左卡尼汀在减轻高原反应中的应用
- 青海省西宁市选调生考试(行政职业能力测验)综合能力测试题汇编
- 2024年上海民航职业技术学院高职单招历年职业技能测验高频考点试题含答案解析
- 夏枯草口服液相关项目实施方案
- 农贸市场消防整改报告
- 《学前儿童家庭教育》课程标准(含课程思政)
- 2024国航股份商务委员会销售部招聘高频考题难、易错点模拟试题(共500题)附带答案详解
评论
0/150
提交评论