Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 5

#include<stdio.

h>
#include<stdlib.h>
#include<sys/socket.h>
#include<string.h>
#include<netinet/in.h>
#define SERV_PORT 57886
#define MAXLINE 1024
void dg_echo(int,struct sockaddr*,socklen_t);
int main(int argc,char** argv)
{
int sockfd,retbind;
struct sockaddr_in cliaddr,servaddr;
sockfd=socket(AF_INET,SOCK_DGRAM,0);
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
servaddr.sin_port= htons(SERV_PORT);
retbind=bind(sockfd,(struct sockaddr*) &servaddr,sizeof(servaddr));
if(retbind==-1)
{
printf("bind error");
exit(1);
}
dg_echo(sockfd,(struct sockaddr*)&cliaddr,sizeof(cliaddr));
}
void dg_echo(int sockfd,struct sockaddr* pcliaddr,socklen_t clilen)
{
int n;
socklen_t len;
char mesg[MAXLINE];
for( ; ; )
{
len=clilen;
n=recvfrom(sockfd,mesg,MAXLINE,0,pcliaddr,&len);
sendto(sockfd,mesg,n,0,pcliaddr,len);
}
}

You might also like