server.c

来自「linux 下的服务端和客户端连接」· C语言 代码 · 共 62 行

C
62
字号
#include <unistd.h>#include <sys/socket.h>#include <sys/types.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include <netinet/in.h>#define  PORT 3333#define  BACKLOG 10#define  MAX_CONNECTED_NO 10#define  MAXDATASIZE 15main(){  struct sockaddr_in addr,client_addr;  int sin_size,recvbytes;  int sockfd,client_fd;  char buf[MAXDATASIZE];  if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1){    perror("socket");    exit(1);  }  printf("socket success!,sockfd=%d\n",sockfd);  addr.sin_family=AF_INET;  addr.sin_port=htons(PORT);  addr.sin_addr.s_addr=INADDR_ANY;  bzero(&(addr.sin_zero),8);  if(bind(sockfd,(struct sockaddr *)&addr,sizeof(struct sockaddr))==-1){  perror("bind");  exit(1);    }  printf("bind success!\n");   if(listen(sockfd,BACKLOG)==-1){  perror("listen");  exit(1);    }  printf("listening.......\n");     if((client_fd=accept(sockfd,(struct sockaddr *)&client_addr,&sin_size))==-1){  perror("accept");  exit(1);    }   if((recvbytes=recv(client_fd,buf,MAXDATASIZE,0))==-1){  perror("recv");  exit(1);    }  printf("received a connection:%s\n",buf);    close(sockfd);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?