📄 server.c
字号:
#include <sys/types.h>#include <sys/socket.h>#include <string.h>#include <netinet/in.h>#include <stdio.h>#include <stdlib.h> #define MAXLINE 80#define SERV_PORT 8888 void do_echo(int sockfd, struct sockaddr *pcliaddr, socklen_t clilen){ int n; socklen_t len; char mesg[MAXLINE]; for(;;) { len = clilen; memset(mesg,0,MAXLINE); /* waiting for receive data */ n = recvfrom(sockfd, mesg, MAXLINE, 0, pcliaddr, &len); printf("%s \n",mesg); //printf("addr=%d \n",(struct sockaddr_in *)(pcliaddr)->sin_addr); /* sent data back to client */ sendto(sockfd, mesg, n, 0, pcliaddr, len); }} int main(void){ int sockfd; struct sockaddr_in servaddr, cliaddr; sockfd = socket(AF_INET, SOCK_DGRAM, 0); /* create a socket */ /* init servaddr */ bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = htonl(INADDR_ANY); servaddr.sin_port = htons(SERV_PORT); /* bind address and port to socket */ if(bind(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) == -1) { perror("bind error"); exit(1); } do_echo(sockfd, (struct sockaddr *)&cliaddr, sizeof(cliaddr)); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -