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

购物网站页面/百度网页版主页

购物网站页面,百度网页版主页,wordpress主题放哪,云南定制化网站建设TCP并发服务器(一)——每个客户一个子进程 1.说明 这是最传统的并发服务器,对于每一个客户请求fork一个子进程。问题在于每次fork一个子进程比较耗费时间,下面会讲预创建进程。 程序代码基于UNP的库。 程序在使用进程的模式下是最慢的。 2.代码 #include…

TCP并发服务器(一)——每个客户一个子进程

1.说明

这是最传统的并发服务器,对于每一个客户请求fork一个子进程。问题在于每次fork一个子进程比较耗费时间,下面会讲预创建进程。

程序代码基于UNP的库。

程序在使用进程的模式下是最慢的。

 

2.代码

#include "unp.h"int main(int argc, char *argv[])
{int listenfd;socklen_t addrlen;if (argc = 2) {listenfd = Tcp_listen(NULL, argv[1], &addrlen);} else if (argc ==3) {listenfd = Tcp_listen(argv[1], argv[2], &addrlen);} else {err_quit("Usage: a.out [ <host> ] <port#>");}struct sockaddr *cliaddr = (struct sockaddr*)Malloc(addrlen);void sig_chld(int), sig_int(int), web_child(int);Signal(SIGCHLD, sig_chld);Signal(SIGINT, sig_int);for ( ; ;) {socklen_t clilen = addrlen;    DPRINTF("Wait for a connection\n");int connfd = accept(listenfd, cliaddr, &clilen);    //clilen用于值-结果参数,可能会改变,所以每次重新赋值,所以此处不能使用addrlenDPRINTF("Accept a connection\n");if (connfd < 0) {if (errno == EINTR) {continue;} else {err_sys("accept() error");}} pid_t childpid = Fork();if (childpid == 0) {        //child processDPRINTF("Fork a child process\n");Close(listenfd);        //close listening socketweb_child(connfd);        //process requestexit(0);}Close(connfd);                //parent closes connected socket} //end for(;;)return 0;
}void sig_int(int)
{DPRINTF("sig_int()\n");void pr_cpu_time(void);pr_cpu_time();exit(0);
}void sig_chld(int)
{static int cnt = 0;pid_t pid;int stat;//param1: 想要等待的PID;-1: 等待第一个终止的子进程//param2: 子进程的终止状态(整数)//param3: 附加选项;WNOHANG:没有子进程终止时,不阻塞while ((pid = waitpid(-1, &stat, WNOHANG)) > 0) {    //成功:返回进程ID > 0, 出错:0或-1DPRINTF("Waitpid for %d child process\n", ++cnt);;}return;
}

 

  

转载于:https://www.cnblogs.com/hancm/p/3864179.html

http://www.lbrq.cn/news/1353691.html

相关文章:

  • 自己的电脑如何做网站/网络营销个人总结
  • 网站开发图片文字/seo是什么意思 为什么要做seo
  • 做照片模板下载网站/新乡seo推广
  • 国内如何做国外网站的兼职项目/金华seo全网营销
  • 绵阳新区大建设/搜索引擎优化的技巧
  • 上海网站建设规范/网络营销渠道建设方案
  • 有域名了建立免费网站/百度推广代理商有哪些
  • 首都航空公司官方网站/外贸网站平台有哪些
  • 湖南现在有什么网站做农副产品/青岛seo博客
  • 网站总体设计方案/深圳最好seo
  • 麻将网站开发/百度推广助手电脑版
  • 企业网络营销策略分析/湖南seo服务
  • 网站空间一定要买吗/网站友链外链
  • 兰州网站制作培训班/产品软文范例大全
  • 网站建设怎么加音乐/西安百度快速排名提升
  • 网站免费网站入口/地推团队联系方式
  • 北京网站关键词排名/品牌推广活动策划方案
  • 小男孩与大人做的网站/岳阳网站设计
  • 天津建委招标网站/大数据分析
  • 公司培训网站需要广播证吗/网络企业推广
  • 做鸡人网站/青岛官网seo方法
  • 手机网站图片优化/西安新站网站推广优化
  • 做海报赚钱网站/营销网络
  • 自己做的动态网站怎么/如何做营销策划方案
  • 企业做网站找谁/深圳百度地图
  • 网站log文件示例/宁波关键词优化品牌
  • 百度推广做网站/国际新闻网站
  • 专业b2c电商网站制作/中国最新消息
  • 东莞seo网站建设/免费发广告网站
  • 免费行情软件app网站大全下载u288/潍坊疫情最新消息
  • 超高车辆如何影响城市立交隧道安全?预警系统如何应对?
  • Linux 中 Git 操作大全
  • MATLAB深度学习之数据集-数据库构建方法详解
  • 基于 kubeadm 搭建 k8s 集群
  • AI+UI:如何用智能算法提升设计效率10倍?
  • 【Git学习】入门与基础