myserver.c
来自「分布式计算实验——在Linux中实现客户机-服务器通信」· C语言 代码 · 共 51 行
C
51 行
#include<sys/types.h>
#include<sys/socket.h>
#include<stdio.h>
#include<netinet/in.h>
#include<signal.h>
#include<unistd.h>
int main()
{
int ser_sockfd=0; //服务器
int cli_sockfd=0; //客户端
int ser_len=0;
int cli_len=0;
struct sockaddr_in ser_add;
struct sockaddr_in cli_add;
ser_sockfd = socket(AF_INET,SOCK_STREAM,0);
ser_add.sin_family = AF_INET;
ser_add.sin_addr.s_addr = htonl(INADDR_ANY);
ser_add.sin_port = htons(10000);
ser_len = sizeof(ser_add);
bind(ser_sockfd,(struct sockaddr *)&ser_add,ser_len); //绑定端口
listen(ser_sockfd,5); //监听端口,接收队列长度为5
signal(SIGCHLD,SIG_IGN);
while(1)
{
char buffer[1024];
cli_len = sizeof(cli_add);
cli_sockfd = accept(ser_sockfd,
(struct sockaddr *)&cli_add,&cli_len);
if(fork() == 0)
{
read(cli_sockfd,buffer,1024);
printf("Server: Message has been received! ");
printf("%s\n",buffer);
close(cli_sockfd);
exit(0);
}
else
{
close(cli_sockfd);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?