多线程服务器
发布日期:2018-08-11 20:26 | 文章来源:网络
可以使用客户端
/***server.c***/#include#include#include#include #include #include#include#include #include#include #include"wrap.h"#defineMAXLINE8192#defineSERV_PORT8000structs_info{structsockaddr_incliaddr;intconnfd;};void*do_work{intn,i;structs_info*ts=arg;charbufMAXLINE;charstrINET_ADDRSTRLEN;while{n=Read;if{printf;break;}printf.cliaddr.sin_addr,str,sizeof),ntohs.cliaddr.sin_port));forbufi=toupper;Write;Write;}close;return0;}intmain{structsockaddr_inservaddr,cliaddr;socklen_tcliaddr_len;intlistenfd,connfd;pthread_ttid;structs_infots256;inti=0;listenfd=Socket;bzero);servaddr.sin_family=AF_INET;servaddr.sin_port=htons;servaddr.sin_addr.s_addr=htonl;//inet_pton;Bind&servaddr,sizeof);Listen;printf;while{cliaddr_len=sizeof;connfd=Accept&cliaddr,&cliaddr_len);tsi.cliaddr=cliaddr;tsi.connfd=connfd;pthread_create&tsi);pthread_detach;i++;}return0;}
/***makefile***/src=$obj=$)all:serverclientserver:server.owrap.ogccserver.owrap.o-oserver-Wall-lpthreadclient:client.owrap.ogccclient.owrap.o-oclient-Wall-lpthread%.o:%.cgcc-c$<-Wall.PHONY:cleanallclean:-rm-rfserverclient$
makefile主要是添加了-lpthread线程库
这是服务器编写代码,客户端代码可以使用上篇,也可以使用命令:nc+IP地址+端口号来代替客户端作用
运行结果:
还使用了wrap.c和wrap.h文件,在上篇博客有,这里就重复使用了。
Tags:可以使用客户端,多线程服务器
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。
相关文章