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

信息平台网站的建设 文档微信开放平台的发展前景

信息平台网站的建设 文档,微信开放平台的发展前景,四库一平台建造师业绩查询,网站内容管理软件目录 一.守护进程 1.1进程组与会画 1.2守护进程 二.创建守护进程 setsid函数#xff1a; 三. TCP通讯流程 3.1三次握手#xff1a; 3.2 数据传输的过程 3.3四次挥手 一.守护进程 1.1进程组与会画 进程组#xff1a;进程组由一个进程或者多个进程组成#xff0c;每…目录 一.守护进程 1.1进程组与会画 1.2守护进程 二.创建守护进程  setsid函数 三. TCP通讯流程 3.1三次握手 3.2 数据传输的过程 3.3四次挥手 一.守护进程 1.1进程组与会画 进程组进程组由一个进程或者多个进程组成每个进程组有唯一的进程组ID每个进程组有一个进程组组长和进程组ID一样。 会话有一个或者多个进程组组成的集合一个会话的几个进程组可以分为前台进程和后台进程。在任何时候必须只有一个前台进程组 只能有一个前台此时bash在后台运行不能进行命令行解释。 所有会话内的进程fork创建的子进程一般都属于当前会话。 1.2守护进程 守护进程也叫精灵进程是一种特殊的进程一般在后台运行不与任何控制终端相关联并且周期性地执行某种任务或等待处理某些发生的事件处理一些系统级的任务。守护进程通常在系统启动时就运行它们以 root 用户或者其他特殊的用户运行。 特点 生存周期长[不是必须]一般是操作系统启动的时候他启动操作系统关闭的时候他也关闭守护进程和终端没有关联也就是说他们没有控制终端所以你控制终端退出也不会导致守护进程退出守护进程是在后台运行不会占着终端终端可以执行其它命令二.创建守护进程  setsid函数 #include unistd.h pid_t setsid(void);解释 创建一个新会话谁调用这个函数谁就成为这个新会话进程组的组长返回值 成功返回进程ID失败返回-1且错误码被设置 注意进程组组长不能调用 补充因为进程组长不能调佣该函数所以该进程都要fork创建子进程让子进程创建新会话。 守护进程的一般流程 在父进程中先 fork()——再退出父进程 。必做 调用 setsid()——创建新会话 。(必做 再次 fork 退出父进程。 调用 chdir(“/”) ——将当前工作目录修改到根目录 。 调用 umask()——清除掩码。 关闭所有不使用的文件描述符。 如果有产生子进程需要处理僵尸进程 代码演示 void daemonize() {int fd 0;// 1. 忽略SIGPIPEsignal(SIGPIPE, SIG_IGN);// 2. 让子进程成为进程组组长if (fork() 0)exit(1);// 3. 设置自己是一个独立的会话setsid();// 4. 重定向0,1,2此时fd是3并且打开黑洞文件if ((fd open(/dev/null, O_RDWR)) ! -1) {dup2(fd, STDIN_FILENO);//0dup2(fd, STDOUT_FILENO);//1dup2(fd, STDERR_FILENO);//2// 5. 关闭掉不需要的fd此时完成重定向if(fd STDERR_FILENO) close(fd);} }int main(int argc, char *argv[]) {if (argc ! 2 argc ! 3){std::cerr Usage:\n\t argv[0] port ip std::endl;std::cerr example:\n\t argv[0] 8080 127.0.0.1 \n std::endl;exit(-3);}std::string ip;uint16_t port atoi(argv[1]);if (argc 3)ip argv[2];daemonize();//创建新会话ServerTcp *T new ServerTcp(port, ip);T-init();T-start();return 0; }结果 三. TCP通讯流程 3.1三次握手 服务器初始化 调用socket创建文件描述符。 调用bind将当前的文件描述符和IP/PORT进行绑定。 调用listen声明当前这个文件描述符作为一个服务器的文件描述符为后面的accept做好准备。 调用accept并阻塞等待客户端连接到来。 建立连接 调用socket创建文件描述符。 调用connect向服务器发起连接请求。 connect会发出SYN段并阻塞等待服务器应答第一次。 服务器收到客户端的SYN会应答一个SYN-ACK段表示“同意建立连接”第二次。 客户端收到SYN-ACK后会从connect返回同时应答一个ACK段时间第三次。   这个建立连接的过程叫三次握手 3.2 数据传输的过程 建立连接后TCP协议提供全双工的通信服务所谓全双工的意思是在同一条连接中同一时刻通信双方可以同时写数据相对的概念叫做半双工同一条连接在同一时刻只能由一方来写数据。 服务器从accept返回后立刻调用read读socket就像读管道一样如果没有数据到达就阻塞等待。 这时客户端调用write发送请求给服务器服务器收到后从read返回对客户端的请求进行处理在此期间客户端调用read阻塞等待服务器端应答。 服务器调用write将处理的结果发回给客户端再次调用read阻塞等待下一条请求。 客户端收到后从read返回发送下一条请求如此循环下去。   3.3四次挥手 服务器和客户端close的过程 断开连接的过程 如果客户端没有更多的请求了就调用close关闭连接客户端会向服务器发送FIN段第一次。 此时服务器收到FIN后会回应一个ACK同时read会返回0第二次。 read返回之后服务器就知道客户端关闭了连接也调用close关闭连接这个时候服务器会向客户端发送一个FIN第三次。 客户端收到FIN再返回一个ACK给服务器第四次。 后面在学习网络原理时会对这握手挥手内容进行详细的说明。
http://www.dnsts.com.cn/news/108025.html

相关文章:

  • 做网站做app区别抚州临川网站建设
  • 企业网站有什么用做网站和编程有关系吗
  • 阿盟住房与建设局门户网站数据录入网站开发
  • 网站网站怎么搭建建筑人才网招聘网前程无忧
  • 企业网站最下面的那栏叫啥做基础网站主机要
  • 网上代做论文的网站acg的wordpress主题
  • 提供家居企业网站建设网页设计作品论文
  • 使用wampserver做响应式网站南阳网站建设页面
  • 网站资讯创作p2p网站的建设
  • 个人备案可以做哪些网站网站开发和编程有什么区别
  • 上海网站建设高端专业外贸制作网站
  • 网站首页轮播图片招聘58同城找工作
  • 如何设计好网站外贸新三样
  • 学做名片的网站企业所得税优惠政策最新2023上海
  • 网站开发用什么uniapp跳转内部页面
  • 在床上做很黄很暴力网站网站搭建原理
  • 电子商务的网站的建设内容建设网站要注意什么
  • 网站内容建设需要注意哪些问题做企业竞争模拟的网站
  • wordpress 新网站 代码seo是什么牌子
  • 郑州建设银行官网站深圳设计公司十大排名
  • 网站建设10个基本步骤网站建设费能算作无形资产吗
  • 部队网站建设多少钱医院网站建设规划
  • 发布网站后备案中国建设部网站监理延续
  • 网站 掌握又拍云wordpress远程附件
  • 泊头网站建设价格网络推广公司介绍
  • ps网站头部图片谷歌浏览器搜索入口
  • 网站建设全网推广做网站微信朋友圈应该怎么发
  • 个人团购网站 转入备案网站首页大小
  • 网站上图片可以做商业作品吗河北斯皮尔网站建设
  • 专业做网站建设的腾讯企业邮箱申请