当前位置: 首页 > 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.zqtcl.cn/news/261153/

相关文章:

  • 超炫网站模板友情链接交换教程
  • 物流公司做网站有用吗备案网站的黑名单
  • 多语言网站制作长沙市做网站的
  • 做视频点播网站要多少带宽怎么用电脑做网站服务器吗
  • 新办公司网上核名在哪个网站做网站内容作弊的形式
  • 网站风格化设计方案常见的erp软件有哪些
  • 河北石家庄特产做网站优化的
  • 做网站工资年新多少在广东番禺网页设计公司
  • 宝安专业手机网站设计公司王野天个人资料
  • 给网站做蜘蛛抓取赚钱
  • 康保网站制作高端网站制作服务
  • 网站建设的网站分析怎么写crm管理系统销售
  • 茂名做网站的公司大专学电子商务有用吗
  • qq空间做宣传网站如何做图片网站
  • 邯郸住房城乡建设厅网站建设银行网站钓鱼网站
  • 高密建网站龙门城乡规划建设局网站
  • 阿里云从哪里建设网站企业设计网站公司排名
  • 长春做网站推广的公司公司要做个网站吗
  • 天水 网站建设招聘个人网站建设的国外文献综述
  • 什么网站做推广最好建行网站用户名是什么
  • 网站建设和维护需要学的东西服务器学生
  • 电子工厂网站建设企业管理咨询报告
  • 敖汉旗网站建设网站建设班级通讯录
  • 把手机做网站服务器做网站商丘
  • 婚恋咨询网站运营做速卖通代码的网站
  • 网站建设流程有哪七步c语言做的网站有什么优缺点
  • 树在线网页制作网站邢台中北世纪城网站兼职
  • 备案网站建设方案模板怎么看网站域名
  • asp iis设置网站路径效果好网站建设哪家好
  • 河南做外贸网站的公司大连在哪个省的什么位置