Server: #include <stdio.h> #include <string.h> #include <arpa/inet.h> #include <netinet/in.h> #include <sys/socket.h> #define MAXSIZE 1024 #define SERV_PORT 2000 void dg_echo(int sockfd, struct sockaddr * pcliaddr, socklen_t clilen) { int n; socklen_t len; while(1) { char mesg[MAXSIZE]; //回射机制 len=clilen; n=recvfrom(sockfd,mesg,MAXSIZE,0,pcliaddr,&len); char servermsg[MAXSIZE]="From Server: "; int l = strlen(servermsg); servermsg[l]='/0'; strcat(servermsg,mesg); sendto(sockfd,servermsg,n+l,0,pcliaddr,len); } } int main( int args, char ** argv) { int sockfd; struct sockaddr_in serveraddr, clientaddr; sockfd=socket(AF_INET,SOCK_DGRAM,0); bzero(&serveraddr,sizeof(serveraddr)); serveraddr.sin_family=AF_INET; serveraddr.sin_addr.s_addr=htonl(INADDR_ANY);