




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
消息队列通信实验报告
实验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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电商付费制会员权益设计与评估研究-以K电商平台为例
- DB14-T 3305-2025 中药材产地趁鲜切制技术规程 远志
- 拆迁补偿及住宅置换协议范本
- 中小学生校园意外伤害事故处理合同
- Brand KPIs for neobanking Robinhood in the United States-英文培训课件2025.4
- 2025年公共政策与管理考试真题及答案
- 2025年地理信息系统考试试卷及答案
- 2025年心理健康教育课程考试题及答案
- 儿童言语治疗
- 茶园采摘加工一体化租赁合作协议模板
- 2025年北京市东城区九年级初三二模物理试卷(含答案)
- 现代控制理论知到智慧树期末考试答案题库2025年长安大学
- 2025年北京市平谷区九年级初三二模英语试卷(含答案)
- 脊柱感染的护理
- 【正版授权】 IEC 60512-99-002:2022/AMD1:2025 EN-FR Amendment 1 - Connectors for electrical and electronic equipment - Tests and measurements - Part 99-002: Endurance test schedules - Tes
- 2025年南昌职教城教育投资发展有限公司招聘笔试参考题库附带答案详解
- 2025山东济南先行投资集团有限责任公司及权属公司社会招聘169人笔试参考题库附带答案详解
- 综合呈现2025年入团考试试题及答案
- 2025年广东省中考英语《语法选择》专题复习课件
- 工会考试试题及答案
- GA 1812.2-2024银行系统反恐怖防范要求第2部分:数据中心
评论
0/150
提交评论