⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myserver.c

📁 分布式计算实验——在Linux中实现客户机-服务器通信
💻 C
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -