当前位置: 首页 > news >正文

dede网站安全久久室内设计网

dede网站安全,久久室内设计网,网站登录 效果代码,珠海公众号开发1、消息队列代码 msgsnd.c #includemyhead.h //定义一个消息类型 struct msgbuf {long mtype; //消息类型char mtext[1024]; //消息正文 };//定义一个宏#xff0c;表示消息正文大小 #define MSGSIZE sizeof(struct msgbuf)-sizeof(long)int main(int …1、消息队列代码 msgsnd.c #includemyhead.h //定义一个消息类型 struct msgbuf {long mtype; //消息类型char mtext[1024]; //消息正文 };//定义一个宏表示消息正文大小 #define MSGSIZE sizeof(struct msgbuf)-sizeof(long)int main(int argc, const char *argv[]) {//定义一个key值key_t key 0;if((keyftok(/,k)) -1){perror(ftok error);return -1;}printf(ftok success key%#x\n,key);//根据key值创建一个消息队列int msqid -1;if((msqidmsgget(key,IPC_CREAT|0664)) -1){perror(msgget error);return -1;}printf(msgget success msqid%d\n,msqid);//定义一个消息struct msgbuf sbuf;while(1){//清空正文的容器bzero(sbuf.mtext,sizeof(sbuf.mtext));//输入消息类型 printf(please enter the type of message:);scanf(%ld,sbuf.mtype);getchar();//输入消息的内容printf(please enter the text of message:);fgets(sbuf.mtext,sizeof(sbuf.mtext),stdin);sbuf.mtext[strlen(sbuf.mtext)-1] 0;//将消息存放到队列中msgsnd(msqid,sbuf,MSGSIZE,0);printf(send success\n);if(strcmp(sbuf.mtext,quit)0)break;}return 0; } msgrcv.c #includemyhead.h //定义一个消息类型 struct msgbuf {long mtype; //消息类型char mtext[1024]; //消息正文 }; //定义一个宏表示消息正文大小 #define MSGSIZE sizeof(struct msgbuf)-sizeof(long)int main(int argc, const char *argv[]) {//1、创建key值key_t key 0;if((keyftok(/,k)) -1 ){perror(ftok error);return -1;}//2、根据key值创建一个消息队列int msqid -1;if((msqidmsgget(key,IPC_CREAT|0664)) -1){perror(msgget error);return -1;}printf(msgget success msqid%d\n,msqid);//定义一个消息struct msgbuf rbuf;while(1){//清空容器bzero(rbuf.mtext,sizeof(rbuf.mtext));//从消息列表中读取一个消息msgrcv(msqid,rbuf,MSGSIZE,0,0);printf(the massage receive:%s\n,rbuf.mtext);if(strcmp(rbuf.mtext,quit)0)break;}//将消息队列删除if(msgctl(msqid,IPC_RMID,NULL) ! 0){perror(msgclt error);return -1;}return 0; }2、使用消息队列完成两个进程间相互通信 send.c #includemyhead.h //定义一个消息 struct msgbuf {long mtype; //消息类型char mtext[1024]; //消息正文内容 };//定义一个宏表示消息正文大小 #define MSGSIZE sizeof(struct msgbuf)-sizeof(long)int main(int argc, const char *argv[]) {//定义一个key值key_t key0;if((keyftok(/,k)) -1){perror(ftok error);return -1;}printf(ftok success key%#x\n,key);//根据Key值创建一个消息队列int msqid -1;if((msqidmsgget(key,IPC_CREAT|0664)) -1){perror(msgget error);return -1;}//定义一个消息struct msgbuf sbuf;struct msgbuf rbuf;//创建一个进程pid_t pidfork();if(pid 0){//父进程while(1){//清空正文的容器bzero(sbuf.mtext,sizeof(sbuf.mtext));//输入消息类型printf(please enter the type of message:);scanf(%ld,sbuf.mtype);getchar();//输入消息的内容printf(请输入消息的内容:);fgets(sbuf.mtext,sizeof(sbuf.mtext),stdin);sbuf.mtext[strlen(sbuf.mtext)-1] 0;//将消息存放到队列中msgsnd(msqid,sbuf,MSGSIZE,0);printf(send success\n);if(strcmp(sbuf.mtext,quit) 0)break;}wait(NULL);}else if(pid 0){while(1){//清空容器bzero(rbuf.mtext, sizeof(rbuf.mtext));//从消息队列中读取一个消息//msgrcv(msqid, rbuf, MSGSIZE, 0, 0);//第一个0表示一直读取队列中第一个消息//第二个0表示阻塞读取msgrcv(msqid, rbuf, MSGSIZE, 2, 0); //只接收类型为1printf(\n收到消息为%s\n, rbuf.mtext);if(strcmp(rbuf.mtext, quit) 0);break;}exit(EXIT_SUCCESS); //退出进程}else{perror(fork error);return -1;}return 0; }recevie.c #includemyhead.h //定义一个消息 struct msgbuf {long mtype; //消息类型char mtext[1024]; //消息正文内容 };//定义一个宏表示消息正文大小 #define MSGSIZE sizeof(struct msgbuf)-sizeof(long)int main(int argc, const char *argv[]) {//定义一个key值key_t key0;if((keyftok(/,k)) -1){perror(ftok error);return -1;}printf(ftok success key%#x\n,key);//根据Key值创建一个消息队列int msqid -1;if((msqidmsgget(key,IPC_CREAT|0664)) -1){perror(msgget error);return -1;}//定义一个消息struct msgbuf sbuf;struct msgbuf rbuf;//创建一个进程pid_t pidfork();if(pid 0){//父进程while(1){//清空正文的容器bzero(sbuf.mtext,sizeof(sbuf.mtext));//输入消息类型printf(please enter the type of message:);scanf(%ld,sbuf.mtype);getchar();//输入消息的内容printf(请输入消息的内容:);fgets(sbuf.mtext,sizeof(sbuf.mtext),stdin);sbuf.mtext[strlen(sbuf.mtext)-1] 0;//将消息存放到队列中msgsnd(msqid,sbuf,MSGSIZE,0);printf(send success\n);if(strcmp(sbuf.mtext,quit) 0)break;}wait(NULL);}else if(pid 0){while(1){//清空容器bzero(rbuf.mtext, sizeof(rbuf.mtext));//从消息队列中读取一个消息//msgrcv(msqid, rbuf, MSGSIZE, 0, 0);//第一个0表示一直读取队列中第一个消息//第二个0表示阻塞读取msgrcv(msqid, rbuf, MSGSIZE, 1, 0); //只接收类型为1printf(\n收到消息为%s\n, rbuf.mtext);if(strcmp(rbuf.mtext, quit) 0);break;}exit(EXIT_SUCCESS); //退出进程}else{perror(fork error);return -1;}return 0; }
http://www.pierceye.com/news/261153/

相关文章:

  • 上传到服务器的网站打开是空白网站报备流程
  • 如何用ps做网站标识一个叫mit做app的网站
  • 网站免费网站免费主流网站模板
  • 湖州市交通建设管理局网站牌具做网站可以吗
  • 湖南鸿泰电力建设有限公司网站西安做小程序的公司
  • 学校资源网站建设方案聊城网站建设
  • windows 做网站服务器python做的网站漏洞
  • 培训网站推荐网站内容该怎么做
  • 精通网站建设电子档朵朵软件网站建设
  • 铜山区规划建设局网站网站开发的甘特图
  • 访问网站速度慢中国最新军事新闻直播
  • 商城网站的psd模板免费下载哪里可以上传自己的php网站
  • 珠宝网站策划书网页设计的毕业设计
  • 最经典最常用的网站推广方式什么做网站赚钱
  • 广州哪家做网站化妆品网站方案
  • cms开源网站管理系统北京网站建设策划解决方案
  • 洛阳做多屏合一网站最新款淘宝客源码整网站程序模板+后台带自动采集商品功能带文章
  • 宁国新站seo中国建筑网官网监理工程师网站
  • 自己建网站多少钱福州建设企业网站
  • 容桂佛山做app网站wordpress 搜索 任意
  • dw做单页网站教程盐城网站建设价位
  • 赤峰建设业协会的官方网站wordpress博客伪静态
  • 2016个人做淘宝客网站网站备案备注信息
  • 加盟招商推广网站怎么做网站的防盗链
  • 南阳网站关键词ppt在线浏览网站源码
  • 用vs2012做网站首页涉密网络建设
  • 个人主题网站设计seo技术论坛
  • 做venn图的网站网页设计期末考试作品
  • 中英文网站怎么做外贸SOHO建公司网站
  • 展馆门户网站建设广告片制作公司