📄 udp_server.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 + -