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

网站验证码 出不来广东做网站策划

网站验证码 出不来,广东做网站策划,重庆网页制作设计,2017优秀网站设计欣赏顾得泉:个人主页 个人专栏:《Linux操作系统》 《C/C》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、题目要求 Server是一个服务器进程,只能进行整数平方运算。Client要计算一个整数的平方的平方的平方,即…

顾得泉:个人主页

个人专栏:《Linux操作系统》  《C/C++》  《LeedCode刷题》

键盘敲烂,年薪百万!


一、题目要求

       Server是一个服务器进程,只能进行整数平方运算。Client要计算一个整数的平方的平方的平方,即(((x)^2)^2)^2,我们通过Client与Server的三次通信来完成计算:第一次Client通过command管道将x送到Server,由Server计算出x^2,并通过response管道送回Client。第二次,Client收到x^2后,将其通过command管道再次送到Server,由Server计算出(x^2)^2,并通过response管道送回Client。如此过程,经过三次通信过程,可以计算出(((x)^2)^2)^2,然后由Client打印出计算结果。


二、模块描述

       本文用于创建一个子进程,并通过管道进行通信。主进程将一个整数n发送给子进程,子进程计算n的平方并将结果返回给主进程。最后,主进程打印出子进程计算得到的结果。

        1.首先,通过atoi(argv[1])将命令行参数转换为整数n。

        2.定义两个整数数组com和res,分别用于存储管道的读端和写端的文件描述符。

        3.使用pipe()函数创建两个管道,分别将com[0]和com[1]作为读端,将res[0]和res[1]作为写端。

        4.使用fork()函数创建一个子进程。如果创建失败,输出错误信息并退出程序。

        5.如果当前进程是父进程(pid > 0),则关闭管道的读端和写端,然后循环4次,每次向管道的写端写入整数n,并从管道的读端读取整数n。

        6.在循环结束后,打印子进程计算得到的结果n,然后使用kill()函数发送SIGKILL信号终止子进程,接着使用waitpid()函数等待子进程结束。最后,退出主进程。

        7.如果当前进程是子进程(pid == 0),则关闭管道的读端和写端,然后进入一个无限循环。在循环中,从管道的读端读取整数n,计算n的平方,并将结果写入管道的写端。当读取到的整数为负数时,跳出循环。最后,退出子进程。


三、代码实现

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <sys/wait.h>#define MAXLINE 20  int main(int argc, char* argv[]) 
{int n = atoi(argv[1]);  int com[2];   int res[2];   pid_t pid;if (pipe(com) < 0 || pipe(res) < 0) {perror("pipe error");exit(EXIT_FAILURE);}if ((pid = fork()) < 0) {perror("fork error");exit(EXIT_FAILURE);}if (pid > 0) {    close(com[0]);  close(res[1]); for (int i = 1; i < 4; i++) {write(com[1], &n, sizeof(int));  read(res[0], &n, sizeof(int));  }printf("result is %i\n", n);kill(pid, SIGKILL);   waitpid(pid, NULL, 0); exit(EXIT_SUCCESS);} else {     close(com[1]);  close(res[0]);  while (1) {if (read(com[0], &n, sizeof(int)) <= 0)  break;  n = n * n;   write(res[1], &n, sizeof(int));  }exit(EXIT_SUCCESS);}
}

四、结果展示

       当我们把相对应的文档编辑好后,首先进行的是gcc操作,接着进行运行,运行的时候要把相对应要求的参数传进去,比方说要求2的8次方,就进行下述操作,具体实现步骤与结果如下:


结语:Linux系统基于Pipe实现一个简单Client-Server system系统的分享到这里就结束了,希望本篇文章的分享会对大家的学习带来些许帮助,如果大家有什么问题,欢迎大家在评论区留言~~~  

http://www.yayakq.cn/news/581932/

相关文章:

  • 怎么自己做网站赚钱吗做推送的网站推荐
  • 南京高端网站设计江苏网站开发建设
  • 自建网站视频教程前端角度实现网站首页加载慢优化
  • 个人网站变现搜索引擎排名优化亚当
  • php建站模板网站怎么谈设计
  • 网站模板切换江西建设工程招标投标网站
  • 在百度做网站需要什么资料找企业开发网站多少钱
  • 备份的网站建设方案书价格划算的做网站
  • 网站建设 网页设计 网站制作小程序图片素材库
  • 如何减少网站建设中的错误潜江人才网官网
  • 西安住房和城乡建设局网站高端建筑
  • 东莞百度seo新网站快速排名太原中企动力网站建设
  • 所有外包网站网站建设哪家信誉好
  • 北京网络网站建设价格dw 如何做自适应网站
  • 化隆县公司网站建设歪歪小站 wordpress
  • 营销案例网站推荐国外WordPress小说主题
  • 电商做网站网络推广营销团队
  • 门户网站什么意思做棋牌网站
  • 看到网站的第一印象wordpress 搬家 密码
  • 做胃镜需那好天津津门网站A网站建设规划书的目的
  • 用老薛主机做网站胶州专业建站
  • 钢材原材料东莞网站建设网站导航如何做半透明渐变
  • 建站服务搭建的页面时wordpress分享到朋友圈
  • 网站开发源代码什么意思如何做网站图标
  • 手机版商城网站都有哪 些功能seo建站需求
  • wordpress 站群系统长沙网站建设湘icp备
  • 做信息网站能挣钱吗营山县城乡规划建设局官方网站
  • 接帮人家做网站的网站网站logo怎么做透明
  • 查企业的网站有哪些燕郊seo
  • 沈阳网站建设索王道下拉wordpress为何弃用php