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

📄 udp_server.c

📁 linux下简单的UDP传输文件功能
💻 C
字号:
#include <stdio.h>#include <string.h>#include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#define PORT 1234#define MAXDATASIZE 100main(){	int sockfd;	struct sockaddr_in server,client;	int sin_size;	int num;	char msg[MAXDATASIZE];	if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) == -1)	{		printf("create socket error.\n");		exit(1);	}	bzero(&server,sizeof(server));	server.sin_family = AF_INET;	server.sin_port = htons(PORT);	server.sin_addr.s_addr = htonl(INADDR_ANY);	if(bind(sockfd,(struct sockaddr *)&server,sizeof(struct sockaddr)) == -1)	{		printf("bind error.\n");		exit(1);	}	sin_size = sizeof(struct sockaddr_in);	while(1){		num = recvfrom(sockfd,msg,MAXDATASIZE,0,(struct sockaddr *)&client,&sin_size);		if(num < 0)		{			printf("recvfrom error.\n");			exit(1);		}		msg[num] ='\0';		printf("You got a message (%s) from %s\n",msg,inet_ntoa(client.sin_addr));		sendto(sockfd,"Welcome to my server.\n",22,0,(struct sockaddr *)&client,sin_size);		if(!strcmp(msg,"quit")) break;	}	close(sockfd);}

⌨️ 快捷键说明

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