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

政务网站建设 发言设计个网站多少钱

政务网站建设 发言,设计个网站多少钱,杭州建设银行网站首页,怎么在网上卖东西赚钱一、TCP多进程并发 1.地址快速重用 先退出服务端#xff0c;后退出客户端#xff0c;则服务端会出现以下错误#xff1a; 地址仍在使用中 解决方法#xff1a; /*地址快速重用*/ int flag1,len sizeof (int); if ( setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, 后退出客户端则服务端会出现以下错误 地址仍在使用中 解决方法 /*地址快速重用*/     int flag1,len sizeof (int);     if ( setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, flag, len) -1) {               perror(setsockopt);               exit(1);     } 2.多进程并发 1fork函数 #include stdio.h #include wait.h #include stdlib.hint main(int argc, char *argv[]) {pid_t pid fork();if(pid 0){perror(fork);exit(0);}else if(pid 0){printf(This is child process.\n);}else{printf(This is father process.\n);wait(NULL);}return 0; } 2多个客户端 代码演示 #include stdio.h #include sys/socket.h #include sys/types.h #include stdlib.h #include arpa/inet.h #include unistd.h #include string.h #include strings.h#define BACKLOG 5 void ClinetHandle(int newfd); int main(int argc, char *argv[]) {int fd, newfd;struct sockaddr_in addr, clint_addr;socklen_t addrlen sizeof(clint_addr);pid_t pid;if(argc 3){fprintf(stderr, %saddrport\n, argv[0]);exit(0);}/*创建套接字*/fd socket(AF_INET, SOCK_STREAM, 0);if(fd 0){perror(socket);exit(0);}addr.sin_family AF_INET;addr.sin_port htons( atoi(argv[2]) );if ( inet_aton(argv[1], addr.sin_addr) 0) {fprintf(stderr, Invalid address\n);exit(EXIT_FAILURE);}/*地址快速重用*/int flag1,len sizeof (int); if ( setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, flag, len) -1) { perror(setsockopt); exit(1); } /*绑定通信结构体*/if(bind(fd, (struct sockaddr *)addr, sizeof(addr) ) -1){perror(bind);exit(0);}/*设置套接字为监听模式*/if(listen(fd, BACKLOG) -1){perror(listen);exit(0);}while(1){/*接受客户端的连接请求生成新的用于和客户端通信的套接字*/newfd accept(fd, (struct sockaddr *)clint_addr, addrlen);if(newfd 0){perror(accept);exit(0);}printf(addr:%s port:%d\n, inet_ntoa(clint_addr.sin_addr), ntohs(clint_addr.sin_port) );if( (pid fork() ) 0){perror(fork);exit(0);}else if(pid 0){close(fd);ClinetHandle(newfd);exit(0);}elseclose(newfd);}close(fd);return 0; } void ClinetHandle(int newfd){int ret;char buf[BUFSIZ] {};while(1){//memset(buf, 0, BUFSIZ);bzero(buf, BUFSIZ); //初始化ret read(newfd, buf, BUFSIZ);if(ret 0){perror(read);exit(0);}else if(ret 0)break;elseprintf(buf %s\n, buf);}close(newfd); } 二、僵尸进程处理 #include stdio.h #include sys/socket.h #include sys/types.h #include stdlib.h #include arpa/inet.h #include unistd.h #include string.h #include strings.h #include signal.h #include sys/wait.h#define BACKLOG 5 void SigHandle(int sig){if(sig SIGCHLD){printf(client exited\n);wait(NULL);} } void ClinetHandle(int newfd); int main(int argc, char *argv[]) {int fd, newfd;struct sockaddr_in addr, clint_addr;socklen_t addrlen sizeof(clint_addr);#if 0struct sigaction act;act.sa_handler SigHandle;act.sa_flags SA_RESTART;sigemptyset(act.sa_mask);sigaction(SIGCHLD, act, NULL); #elsesignal(SIGCHLD, SigHandle); #endifpid_t pid;if(argc 3){fprintf(stderr, %saddrport\n, argv[0]);exit(0);}/*创建套接字*/fd socket(AF_INET, SOCK_STREAM, 0);if(fd 0){perror(socket);exit(0);}addr.sin_family AF_INET;addr.sin_port htons( atoi(argv[2]) );if ( inet_aton(argv[1], addr.sin_addr) 0) {fprintf(stderr, Invalid address\n);exit(EXIT_FAILURE);}/*地址快速重用*/int flag1,len sizeof (int); if ( setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, flag, len) -1) { perror(setsockopt); exit(1); } /*绑定通信结构体*/if(bind(fd, (struct sockaddr *)addr, sizeof(addr) ) -1){perror(bind);exit(0);}/*设置套接字为监听模式*/if(listen(fd, BACKLOG) -1){perror(listen);exit(0);}while(1){/*接受客户端的连接请求生成新的用于和客户端通信的套接字*/newfd accept(fd, (struct sockaddr *)clint_addr, addrlen);if(newfd 0){perror(accept);exit(0);}printf(addr:%s port:%d\n, inet_ntoa(clint_addr.sin_addr), ntohs(clint_addr.sin_port) );if( (pid fork() ) 0){perror(fork);exit(0);}else if(pid 0){close(fd);ClinetHandle(newfd);exit(0);}elseclose(newfd);}close(fd);return 0; } void ClinetHandle(int newfd){int ret;char buf[BUFSIZ] {};while(1){//memset(buf, 0, BUFSIZ);bzero(buf, BUFSIZ);ret read(newfd, buf, BUFSIZ);if(ret 0){perror(read);exit(0);}else if(ret 0)break;elseprintf(buf %s\n, buf);}close(newfd); } 三、TCP并发多线程 #include stdio.h #include sys/socket.h #include sys/types.h #include stdlib.h #include arpa/inet.h #include unistd.h #include string.h #include strings.h #include pthread.h#define BACKLOG 5void *ClinetHandle(void *arg); int main(int argc, char *argv[]) {int fd, newfd;struct sockaddr_in addr, clint_addr;pthread_t tid;socklen_t addrlen sizeof(clint_addr);if(argc 3){fprintf(stderr, %saddrport\n, argv[0]);exit(0);}/*创建套接字*/fd socket(AF_INET, SOCK_STREAM, 0);if(fd 0){perror(socket);exit(0);}addr.sin_family AF_INET;addr.sin_port htons( atoi(argv[2]) );if ( inet_aton(argv[1], addr.sin_addr) 0) {fprintf(stderr, Invalid address\n);exit(EXIT_FAILURE);}/*地址快速重用*/int flag1,len sizeof (int); if ( setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, flag, len) -1) { perror(setsockopt); exit(1); } /*绑定通信结构体*/if(bind(fd, (struct sockaddr *)addr, sizeof(addr) ) -1){perror(bind);exit(0);}/*设置套接字为监听模式*/if(listen(fd, BACKLOG) -1){perror(listen);exit(0);}while(1){/*接受客户端的连接请求生成新的用于和客户端通信的套接字*/newfd accept(fd, (struct sockaddr *)clint_addr, addrlen);if(newfd 0){perror(accept);exit(0);}printf(addr:%s port:%d\n, inet_ntoa(clint_addr.sin_addr), ntohs(clint_addr.sin_port) );pthread_create(tid, NULL, ClinetHandle, newfd); //创建线程pthread_detach(tid); //设置为分离属性}close(fd);return 0; } void *ClinetHandle(void *arg){int ret;char buf[BUFSIZ] {};int newfd *(int *)arg; //传参强转while(1){//memset(buf, 0, BUFSIZ);bzero(buf, BUFSIZ);ret read(newfd, buf, BUFSIZ);if(ret 0){perror(read);exit(0);}else if(ret 0)break;elseprintf(buf %s\n, buf);}printf(client exited\n);close(newfd);return NULL; } Makefile CCgcc CFLAGS-Wall all:client server server:server.c     $(CC) $^ -Wall -o $ -lpthread clean:     rm client server
http://www.hkea.cn/news/14273407/

相关文章:

  • 灰色系网站wordpress添加语系
  • 福州h5建站安徽建设厅网站首页
  • 长江工程建设局网站国家企业公示信息系统全国
  • 东莞哪家网站营销公司好制作网页时不能使用图案作为网页背景
  • 做手机网站要注意网站关于我们怎么做单页面模板
  • 郑州建设银行网站房贷网点在哪青柠视频免费版中文字幕
  • 怎么给网站做跳转哪些网站属于官网
  • 企业是如何做电子商务网站企业网站托管注意事项
  • 各国网站的域名做网站在后台如何添加链接
  • 深圳网站优化技巧网站一直没有收录
  • 发布软文是什么意思电子商务网站seo
  • c 做的网站大连比较好的的网站建设公司
  • wordpress多站点插件asp.net 网站开发实例
  • 做没用的网站企业网站模板 首页大图
  • 搜索引擎的网站优化WordPress 付费下载阅读
  • 厦门企业网站推广wordpress做app
  • 在线咨询免费海南快速seo排名优化
  • 怎么做网站网站赚钱wordpress 分辨 模版
  • 简历做的很棒的网站宿迁房产网签查询系统
  • 网站开发文档怎么写住房和城乡建设部办公厅
  • 中国优秀网站建设官网广州网站开发小程序
  • 个人外贸网站青海个人旅游网站建设
  • 济宁市环保局建设项目审批网站淘宝宝贝关键字优化
  • 嘉兴网站制作平台wordpress教程seo
  • 珠海网站建设哪个平台好杭州百度快照推广
  • 邯郸网站建设渠道展览网站建设方案
  • 包装在线设计网站如何自己做网站并开发软件
  • 做直播网站收费吗衡水网站建设哪家专业
  • 怎样制作微信网站有哪些公司网站建设比较好
  • 自适应和响应式网站做行业门户网站要投资多少钱