📄 server.c~
字号:
/* server.c */
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include <netdb.h>
#include <netinet/in.h>
#include <stdlib.h>
#define MYPORT 4000
#define BACKLOG 10
#define DEFAULT_IP "219.225.51.250"
int main(){ int sockzw,sockbd,newzw,sin_size; struct sockaddr_in my_addr; struct sockaddr_in cl_addr; sockzw = socket(AF_INET, SOCK_STREAM, 0); my_addr.sin_family = AF_INET; /* host byte order */ my_addr.sin_port = htons(MYPORT); /* short, network byte order */ my_addr.sin_addr.s_addr = inet_addr(DEFAULT_IP); bzero(&(my_addr.sin_zero),8); /* zero the rest of the struct */ printf("the IPADDR is:%d\n",sockzw); /* don't forget your error checking for bind(): */ sockbd = bind(sockzw,(struct sockaddr*)&my_addr,sizeof(struct sockaddr)); printf("the sockbd is :%d\n",sockbd); if (sockbd==-1) { perror("bind failure!\n"); } else { printf("bind success!\n"); } if (listen(sockzw, BACKLOG) == -1) { perror("listen....."); exit(1); } else { printf("listen success!\n"); }
while(1)
{ printf("Waiting for client!\n");
sin_size=sizeof(struct sockaddr_in);
if((newzw=accept(sockzw,(struct sockaddr*)&cl_addr,&sin_size))==-1)
{perror("accept....");
continue; }
else
printf("accept success!\n");
if(!fork())
{if(send(newzw,"hello,zhongwei!\n",14,0)==-1)
{perror("send.....");
close(newzw);
exit(0);
}
printf("send success!\n");
close(newzw);
}
waitpid(-1,NULL,WNOHANG)>0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -