以下為引用的內(nèi)容: 服務(wù)器端程序: /********************************************************** * server.c * 服務(wù)器端程序 * *********************************************************/ #include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #include<netdb.h> #include<sys/socket.h> #include<netinet/in.h> #include<arpa/inet.h> #define BUFSIZE 8192 #define DEFAULT_PORT 5320 enum{CMD_NAME,SRC_PORT}; int execute(char *command,char *buf,int bufmax); int main(int argc,char *argv[]) { struct sockaddr_in server; //服務(wù)器地址 struct sockaddr_in client; //客戶機(jī)地址 int len; //sockaddr_in的長(zhǎng)度 int port; //服務(wù)器端口號(hào) int s; //接收?qǐng)?bào)文用描述符 int s0; //接收連接用描述符 int cn; //接收命令的字?jǐn)?shù) int sn; //發(fā)送報(bào)文的字節(jié)數(shù) int rn; //接收?qǐng)?bào)文的字節(jié)數(shù) char cmd1[BUFSIZE]; //第一個(gè)語(yǔ)句命令 char cmd2[BUFSIZE]; //第二個(gè)語(yǔ)句命令 char recv_buf[BUFSIZE]; //接收緩沖區(qū) char send_buf[BUFSIZE]; //發(fā)送緩沖區(qū) //實(shí)際參數(shù)的處理(端口號(hào)) if(argc==2){ if((port=atoi(argv[SRC_PORT]))==0){ struct servent *se; //服務(wù)信息 if((se=getservbyname(argv[SRC_PORT],"tcp"))!=NULL) port=(int) ntohs((u_short)se->s_port); else{ fprintf(stderr,"getservbyname error"); exit(EXIT_FAILURE); } } }else port=DEFAULT_PORT; //使用TCP協(xié)議打開(kāi)一個(gè)套接字 if((s0=socket(AF_INET,SOCK_STREAM,0))<0){ perror("socket"); exit(EXIT_FAILURE); } //設(shè)定服務(wù)器地址 memset((char *)&server,0,sizeof(server)); server.sin_family=AF_INET; server.sin_addr.s_addr=htonl(INADDR_ANY); server.sin_port=htons(port); if(bind(s0,(struct sockaddr *)&server,sizeof(server))<0){ perror("bind"); exit(EXIT_FAILURE); } //開(kāi)始接受建立連接請(qǐng)求 listen(s0,5); //接收連接循環(huán) while(1){ //接收連接處理 len=sizeof(client); if((s=accept(s0,(struct sockaddr *)&client,&len))<0){ perror("accept"); exit(EXIT_FAILURE); } printf("Connected From '%s'",inet_ntoa(client.sin_addr)); #ifdef FORK_SERVER if(fork()!=0){ close(s); continue; } close(s0); #endif //服務(wù)器處理的主要子程序 while(1){ int i=0; //接收字符的計(jì)數(shù)器 sn=sprintf(send_buf,"TCP>"); send(s,send_buf,sn,0); receive: //流型數(shù)據(jù)的接收處理 if((rn=recv(s,&recv_buf[i],1,0))<0) break; //以換行為單位進(jìn)行接收處理 if(recv_buf[i]!=''){ i++; if(i<BUFSIZE-1) goto receive; } recv_buf[i]=' 主站蜘蛛池模板: 日韩一级片网站 | 国产韩国精品一区二区三区 | 超碰www | 国产精品久久久久久久久免费看 | 麻豆91精品91久久久的内涵 | 欧美特级 | 久久一二| 91精品国产九九九久久久亚洲 | 国产精品美女av | 爽爽影院在线看 | 中文字幕久久久 | 99精品免费久久久久久久久日本 | 久久久女人 | 久久国产精品久久久久久久久久 | 87福利视频 | 亚洲男人天堂视频 | 久久亚州综合 | 久久精品久久久久电影 | 九九热国产精品视频 | 毛片免费网| 男女在线免费视频 | 亚洲欧美一区二区久久 | 亚洲 自拍 另类 欧美 丝袜 | 一区二区高清在线 | 九九热av | 美女国产一区 | 一区二区三区日韩欧美 | 国产精品一区二区三区久久 | 午夜视频一区 | 一区二区三区在线视频免费观看 | 久久免费看 | 国产白浆在线观看 | 岛国免费视频 | 国产精品一区二区三区四区 | 在线观看视频免费播放 | av中文字幕第一页 | 一区二区三区免费 | 中文字幕二区丶 | 日韩欧美在线播放视频 | 干干干操操操 | 日韩在线小视频 | |