Friday, June 19, 2015

UDP ECHO SERVER

PROGRAM:
SERVER SIDE:
 
#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<string.h>
#include<sys/socket.h>
#define LOCAL_SERVER_PORT 1500
#define MAX_MSG100
int main(int argc.char *argv[])
{
Int sd,rc,n,clien;
Struct sockaddr_in cliaddr,servaddr;
Char msg[MAX_MSG];
Sd=socket[AF_INET<SOCK_DGRAM,0);
If(sd>0)
{
Printf(“%s cannot open socket\n”,argv[0]);
Exit(0);
}
Servaddr.sin_family=AF_INET;
Servaddr.sin_addr.s_addr=hton1(INADDR_ANY);
Servaddr.sin_port=htons(local_server_port);
Rc=bind(sd,struct sockaddr *)eservaddr,sizeof(servaddr));
If(rc<0)
{
Printf(“%s:cannot bind port number %d \n”);
Argv[0],local_server_port);
Exit(0);
}

if(n<0)
{printf(“%s :cannot receive data\n”);
Continue;
}
Print(“received message is %s”,mag);
}
Return 0;
}


CLIENT SIDE:
 
#include<stdio.h>
#include<string.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<sys/socket.h>
#define REMOTE_SERVER_PORT 1500
#define MAX_MSG100
Int main(int argc,char *argv[])
{
Int sd,rc,I;
Struct sockaddr_in cliaddr,remote servaddr;
Struct hostenet *h;
If(argc<3)
{
Printf(“usage:%s<server><data1>----<data>\n”.argv[0]);
Exit(1);
}
H=gethostbyname(argv[1]);
If(h-==null)
{
printf(“%s:unknown host’%s’\n”,argv[0],argv[1]);
exit(1);
}
Remote servaddr.sin_family=h->h_addrtype;
Memcpy(cchar*)&remote servaddr.sin_addr.s_addr,h->h_addr_list[0],h->h_length)l
Remote servaddr.sin_port=htons(REMOTE_SERVER_PORT);
Sd=socket(SF_INET,SOCK_DGRAM,0);
If(sd<0)
{
Printf(“%s:cannot open socket \n “,argv[0]);
exit(0);
}
If(rc<0)
{
Printf(“%s:cannot send date%d\n”,argv[0],i-1);
Close(sd);
Exit(1);
]
}
Return 1;
}




OUTPUT:
SERVER SIDE:

"ftpse.c" 60L, 1216C written
[ME04@TELNET ~]$ cc ftpse.c
[ME04@TELNET ~]$ ./a.out
Waiting for the dad from upd
Cannot receive the data
[ME04@TELNET ~]$




CLIENT SIDE:

"ftpcl.c" 51L, 1137C written
[ME04@TELNET ~]$ cc ftpcl.c
[ME04@TELNET ~]$ ./a.out
Cannot open socket
Hai baby!!

Received message hai baby!!



No comments:

Post a Comment