📄 tcp-server.c
字号:
#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <sys/wait.h>#include <sys/types.h>#include <netinet/in.h>#include <sys/socket.h>#define PORT 3000 /* 定义我们的通信端口*/#define BACKLOG 10 /*定义处理队列长度*/main (){ int sockfd, new_fd; struct sockaddr_in srvaddr; struct sockaddr_in cliaddr; int sin_size;/*建立socket以便通信*/ if ( (sockfd=socket (AF_INET, SOCK_STREAM, 0)) ==-1) { perror ("Creat socket error"); exit (1); } bzero (&srvaddr, sizeof (srvaddr)); srvaddr.sin_family=AF_INET; srvaddr.sin_port=htons (PORT); srvaddr.sin_addr.s_addr=htonl (INADDR_ANY);/*绑定socket*/ if (bind (sockfd, (struct sockaddr * ) &srvaddr,sizeof (struct sockaddr)) ==-1) { perror ("Error when bind"); exit (1); }/*开始在socket上监听*/ if (listen (sockfd, BACKLOG) ==-1) { perror ("lisen error"); exit (1); }/*循环等待,处理连接请求和发送应答信息*/ for (;;) { sin_size=sizeof (struct sockaddr_in); if ( (new_fd=accept (sockfd, (struct sockaddr * ) &cliaddr,&sin_size)) ==-1) { perror ("Error when accept"); exit (1); } printf ("Server: got connection from %s \n", inet_ntoa (cliaddr.sin_addr)); if (write (new_fd,"hello,this is server\n", 22) ==-1) perror ("Error when send string"); close (new_fd); } close (sockfd); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -