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

方正集团网站是谁做的分类目录不要前缀wordpress

方正集团网站是谁做的,分类目录不要前缀wordpress,单页面网站推广方法,阿胶在那种网站做推广好概念#xff1a; 不同进程能通过消息队列来进行通信#xff0c;不同进程也能获取或发送特定类型的消息#xff0c;即选择性的收发消息。 一般一个程序采取子进程发消息#xff0c;父进程收消息的模式 常用函数功能#xff1a; fork(); // 创建子进程 struct msgbuf{ …概念 不同进程能通过消息队列来进行通信不同进程也能获取或发送特定类型的消息即选择性的收发消息。 一般一个程序采取子进程发消息父进程收消息的模式 常用函数功能 fork(); // 创建子进程 struct msgbuf{ // 数据协议long mtype; // 数据类型由用户自己定义char buf[N]; // 数据部分 };key ftok(“.”, ‘a’) // 创建键值 第一个参数是路径名通常是一个已经存在的文件或目录的路径名。在这个例子中.表示当前目录也就是代码所在的目录。 第二个参数是一个由用户自定义的字符用于生成键值。在这里它是字符 ‘a’。 这个键值的作用即标识一个消息队列通过键值识别具体的某条消息队列 代码 SndTp1RcvTp2.c #include stdio.h #include sys/types.h #include sys/ipc.h #include sys/msg.h #include string.h #include errno.h #include signal.h#define N 128 #define SIZE sizeof(struct msgbuf) - sizeof(long) #define TYPE1 100 #define TYPE2 200struct msgbuf{long mtype;char buf[N]; };int main(){key_t key;if((key ftok(., a)) 0){ // 创建键值 perror(ftok error);return -1;}int msqid;struct msgbuf msg_snd, msg_rcv; // 发送端接收端if((msqid msgget(key, IPC_CREAT|IPC_EXCL|0664)) 0){ // 创建消息队列 存在则报错 出现错误返回-1 if(errno ! EEXIST){ // 若消息不存在 perror(msgget error);return -1; }else{ // 则消息队列存在 直接打开 msqid msgget(key, 0664); } } pid_t pid;pid fork(); // 创建子进程if(pid 0){perror(fork error);return -1;} else if(pid 0){ // 若是子进程 while(1){msg_snd.mtype TYPE1; // 标识信息的符号fgets(msg_snd.buf, N, stdin); // 标准输入 读取用户输入msg_snd.buf[strlen(msg_snd.buf) - 1] \0; // 方便读取msgsnd(msqid, msg_snd, SIZE, 0); // 消息无法发送则阻塞直到可发送为止 if(strncmp(msg_snd.buf, quit, 4) 0){ // 查看用户输入若为quit 则结束父进程 子进程自我结束 kill(getppid(), SIGKILL);break;} } }else{ // 父进程 while(1){msgrcv(msqid, msg_rcv, SIZE, TYPE2, 0); // 只接收 TYPE2 直到等到有符合条件的消息为止 if(strncmp(msg_rcv.buf, quit, 4) 0){kill(pid, SIGKILL);msgctl(msqid, IPC_RMID, NULL); // 删除消息队列 break;}printf(msg_b:%s\n, msg_rcv.buf);}} return 0; }SndTp2RcvTp1.c #include stdio.h #include sys/types.h #include sys/ipc.h #include sys/msg.h #include string.h #include errno.h #include signal.h#define N 128 #define SIZE sizeof(struct msgbuf) - sizeof(long) #define TYPE1 100 #define TYPE2 200struct msgbuf{long mtype;char buf[N]; };int main(){key_t key;if((key ftok(., a)) 0){ // 创建键值 perror(ftok error);return -1;}int msqid;struct msgbuf msg_snd, msg_rcv; // 发送端接收端if((msqid msgget(key, IPC_CREAT|IPC_EXCL|0664)) 0){ // 创建消息队列 存在则报错 出现错误返回-1 if(errno ! EEXIST){ // 若消息不存在 perror(msgget error);return -1; }else{ // 则消息队列存在 直接打开 msqid msgget(key, 0664); } } pid_t pid;pid fork(); // 创建子进程if(pid 0){perror(fork error);return -1;} else if(pid 0){ // 若是子进程 发送方 while(1){msg_snd.mtype TYPE2; // 标识信息的符号fgets(msg_snd.buf, N, stdin); // 标准输入 读取用户输入msg_snd.buf[strlen(msg_snd.buf) - 1] \0; // 方便读取msgsnd(msqid, msg_snd, SIZE, 0); // 消息无法发送则阻塞直到可发送为止 if(strncmp(msg_snd.buf, quit, 4) 0){ // 查看用户输入若为quit 则结束父进程 子进程自我结束 kill(getppid(), SIGKILL);break;} } }else{ // 父进程 接受方 while(1){msgrcv(msqid, msg_rcv, SIZE, TYPE1, 0); // 只接收 TYPE1 直到等到有符合条件的消息为止 if(strncmp(msg_rcv.buf, quit, 4) 0){kill(pid, SIGKILL);msgctl(msqid, IPC_RMID, NULL); // 删除消息队列 break; }printf(msg_a:%s\n, msg_rcv.buf);}}return 0; }俩个程序各开一个子进程父进程。子进程负责发送信息父进程负责接收信息最终能实现在不同终端通讯发送quit终止通讯 效果
http://www.hkea.cn/news/14442938/

相关文章:

  • 雁塔网站建设发稿渠道
  • 做老师好还是网站编辑好wordpress注册头像
  • 网站里面的数据库是怎么做的开源企业cms建站系统
  • 查找网站后台的软件东莞微信网站制作
  • 企业营销型网站建设规划男人网址你懂我意思正能量
  • 网站通栏图片代码购物网址
  • 如何做网站步骤订做网站
  • dedecms做网站怎么查看品牌营销策划英文
  • 陕西煤化建设集团网站网站建设价格单
  • 网站维护方式沈阳做网站有名公司
  • 广东建设职业技术学院网站外贸网站 费用
  • 网站建设有限公司有播放量就有收益的自媒体平台
  • 线上推广渠道和方式南昌网站排名优化报
  • 广州专业做网站排名哪家好阿里云服务器免费试用
  • 昆明制作手机网站企业网店推广运营策略
  • 商城网站建设大连网站上做销售网点怎么做
  • 社交网站推广怎么做wordpress 布局
  • 网站主页和子页风格如何统一湖州网站建设推广
  • 教育培训营销型网站建设哪家好海口百度seo公司
  • 平面设计与网站开发概述制作网站开发项目的方案书
  • 电子商城网站设计公司哪个好如何对自己做的php网站加密
  • 天津手机版建站系统哪个好沈阳妇科私立医院排名
  • 宁波网站制作自己做网站stri
  • 专业网站建设信息网站流量统计软件
  • 东莞网站建设-南城石佳wordpress 获取子页面内容
  • 北碚网站建设哪家好宁波工程造价信息网
  • 南京做网站具体需要多少钱常州网站开发培训价格
  • 网站制作价格权威乐云践新第一媒体app最新版本
  • 怎么制作网站视频播放器网站翻页动画效果
  • 中山专业外贸网站建设用wordpress二级导航栏