消息队列通信实验报告.doc

消息队列通信实验报告.doc

ID:59519420

大小:103.00 KB

页数:6页

时间:2020-11-06

消息队列通信实验报告.doc_第1页
消息队列通信实验报告.doc_第2页
消息队列通信实验报告.doc_第3页
消息队列通信实验报告.doc_第4页
消息队列通信实验报告.doc_第5页
资源描述:

《消息队列通信实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验6消息队列通信实验目的1、了解什么是消息、消息队列2、掌握消息传送的机理实验内容1、消息的创建、发送和接收。使用系统调用msgget(),msgsnd(),msgrev(),及msgctl()编制一长度为1k的消息发送和接收的程序。Msgqid.c#include#include#include#include#defineMSGKEY75/*定义关键词MEGKEY*/structmsgform/*消息结构*/{longmtype;charmtex

2、t[1030];/*文本长度*/}msg;intmsgqid,i;voidCLIENT(){inti;msgqid=msgget(MSGKEY,0777);for(i=10;i>=1;i--){msg.mtype=i;printf("(client)sent");msgsnd(msgqid,&msg,1024,0);/*发送消息msg入msgid消息队列*/}exit(0);}voidSERVER(){msgqid=msgget(MSGKEY,0777

3、IPC_CREAT);/*由关键字获得消息队列*/do{msgrcv(msgqid

4、,&msg,1030,0,0);/*从msgqid队列接收消息msg*/printf("(server)received");}while(msg.mtype!=1);/*消息类型为1时,释放队列*/msgctl(msgqid,IPC_RMID,0);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)显示服

5、务功能菜单Enteryourchoice:1.Savenoney2.Takemoney2)接收用户键入的功能号进行选择;3)将用户键入的功能号作为一条消息发送到消息队列,然后结束服务端功能:1)从消息队列接收client发送的一条消息;2)根据消息作如下处理:若消息为“1”,创建子进程1,子进程1加载服务模块save,该模块显示以下信息:Yourmoneywassaved!若消息为“2”,创建子进程2,子进程2加载服务模块take,该模块显示以下信息:Pleasetakeyourmoney!3)等待子进程终止后,server消息对列结束。

6、注意:1)save和take要事先编译连接好,放在同一目录下;2)先运行客户端进程,再运行服务端进程。1、client.c#include#include#include#include#include#defineMSGKEY75structmsgform{longmtype;charmtext[1000];}msg;intmsgqid;voidclient(){inti;msgqid=msgget(MSGKEY,0777);/*

7、打开75#消息队列*/for(i=20;i>=1;i--){msg.mtype=i;printf("(client)sent%d",i);sleep(3);msgsnd(msgqid,&msg,1024,0);/*发送消息*/}exit(0);}main(){client();}server.c#include#include#include#include#include#defineMSGKEY75structmsgform

8、{longmtype;charmtext[1000];}msg;intmsgqid;voidserver(){msgqid=msgget(MSGKEY,0777

9、IPC_CREAT);/*创建75#消息队列*/do{msgrcv(msgqid,&msg,1030,0,0);/*接收消息*/printf("(server)received%ld",msg.mtype);sleep(3);}while(msg.mtype!=1);msgctl(msgqid,IPC_RMID,0);/*删除消息队列,归还资源*/exit(0);}main(

10、){server();}实验结果:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。