多線程服務器
發(fā)布日期:2018-08-11 20:26 | 文章來源:網(wǎng)絡
可以使用客戶端
/***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地址+端口號來代替客戶端作用
運行結(jié)果:
還使用了wrap.c和wrap.h文件,在上篇博客有,這里就重復使用了。
Tags:可以使用客戶端,多線程服務器
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
相關(guān)文章
關(guān)注官方微信