Skip to main content

UDP SOCKETS DATE&TIME(SERVER & CLIENT) USING C


SERVER
#include<sys/types.h>
#include<netinet/in.h>
#include<sys/fcntl.h>
#include<time.h>
#include<stdio.h>
int main()
{
int s,b,l,a,i;
char buf[50],buf1[50],ch[3],*p;
time_t t;
struct sockaddr_in myaddr,my1;
s=socket(AF_INET,SOCK_DGRAM,0);
if(s>-1)
printf("\nsocket() success");
else
printf("\nsocket() failure");
myaddr.sin_port=htons(9999);
myaddr.sin_addr.s_addr=INADDR_ANY;
myaddr.sin_family=AF_INET;
b=bind(s,(struct sockaddr *)&myaddr,sizeof myaddr);
if(b>-1)
printf("\nbind() success");
else
printf("\nbind() failure");
i=sizeof(my1);
recvfrom(s,buf,sizeof buf,0,(struct sockaddr *)&my1,&i);
if(strcmp(buf,"time")==0)
{
time(&t);
p=ctime(&t);
sendto(s,p,100,0,(struct sockaddr *)&my1,sizeof my1);
printf("\ntime sent success\n");
}
else
{
printf("\nerror request");
sendto(s,"error request",25,0,(struct sockaddr *)&my1,sizeof my1);
}
}

CLIENT
#include<sys/socket.h>
#include<unistd.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<time.h>
#include<stdio.h>
int main()
{
int s,c,i,j=1;
char buf[50],buf1[50],ch[3];
time_t t;
struct sockaddr_in servaddr,ser1;
s=socket(AF_INET,SOCK_DGRAM,0);
if(s>-1)
printf("\nsocket() success");
else
printf("\nsocket() failure");
servaddr.sin_port=htons(9999);
servaddr.sin_family=AF_INET;
inet_pton(AF_INET,"127.0.0.1",&servaddr.sin_addr.s_addr);
c=connect(s,(struct sockaddr *)&servaddr,sizeof servaddr);
if(c>-1)
{
printf("\nconnect() success");
printf("\nCLIENT:");
scanf("%s",buf);
sendto(s,buf,sizeof buf,0,(struct sockaddr *)&servaddr,sizeof servaddr);
j=sizeof(ser1);
recvfrom(s,buf1,sizeof buf1,0,(struct sockaddr *)&ser1,&j);
printf("\nmessage from server:%s",buf1);
}
else
printf("\nconnect() failure");
}

OUTPUT
SERVER SIDE
$ cc udptimeserver.c
$ ./a.out
socket() success
bind() success
time sent success
$

CLIENT SIDE
$ cc udptimeclient.c
$ ./a.out
socket() success
connect() success
CLIENT: time
message from server:Tue Mar 22 21:43:26 2011
$


Comments

Popular posts from this blog

UDP SOCKETS CHAT APPLICATION (SERVER & CLIENT) USING C

SERVER #include<stdio.h> #include<netinet/in.h> #include<sys/types.h> #include<sys/socket.h> #include<netdb.h> #include<string.h> #include<stdlib.h> #define MAX 80 #define PORT 43454 #define SA struct sockaddr void func(int sockfd) { char buff[MAX]; int n,clen; struct sockaddr_in cli; clen=sizeof(cli); for(;;) { bzero(buff,MAX); recvfrom(sockfd,buff,sizeof(buff),0,(SA *)&cli,&clen); printf("From client %s To client",buff); bzero(buff,MAX); n=0; while((buff[n++]=getchar())!='\n'); sendto(sockfd,buff,sizeof(buff),0,(SA *)&cli,clen); if(strncmp("exit",buff,4)==0) { printf("Server Exit...\n"); break; } } } int main() { int sockfd; struct sockaddr_in servaddr; sockfd=socket(AF_INET,SOCK_DGRAM,0); if(sockfd==-1) { printf("socket creation failed...\n"); exit(0); } else printf("Socket successfully created..\n"); bzero(&servaddr,sizeof(s

SIMULATION OF SLIDING WINDOW PROTOCOLS USING C

SENDER #include<sys/socket.h> #include<sys/types.h> #include<netinet/in.h> #include<netdb.h> #include<stdio.h> #include<string.h> #include<stdlib.h> #include<unistd.h> #include<errno.h> int main() { int sock,bytes_received,connected,true=1,i=1,s,f=0,sin_size; char send_data[1024],data[1024],c,fr[30]=" "; struct sockaddr_in server_addr,client_addr; if((sock=socket(AF_INET,SOCK_STREAM,0))==-1) { perror("Socket not created"); exit(1); } if(setsockopt(sock,SOL_SOCKET,SO_REUSEADDR,&true,sizeof(int))==-1) { perror("Setsockopt"); exit(1); } server_addr.sin_family=AF_INET; server_addr.sin_port=htons(17000); server_addr.sin_addr.s_addr=INADDR_ANY; if(bind(sock,(struct sockaddr *)&server_addr,sizeof(struct sockaddr))==-1) { perror("Unable to bind"); exit(1); } if(listen(sock,5)==-1) { perror("Listen"); exit(1); } fflush(stdout); sin_size=sizeof(st

TCP SOCKET DATE AND TIME USING C

SERVER #include<stdio.h> #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<time.h> #include<string.h> #include<stdlib.h> #define max 30 #define PORT 2100 int main() { int sersoc,clisoc,conn,len,wri; char str[max]; pid_t pid; time_t ticks; socklen_t clilen; struct sockaddr_in servaddr,cliaddr; servaddr.sin_family=AF_INET; servaddr.sin_port=htons(PORT); servaddr.sin_addr.s_addr=htonl(INADDR_ANY); if((sersoc=socket(AF_INET,SOCK_STREAM,0))<0) { perror("Socket Error"); exit(0); } if(bind(sersoc,(struct sockaddr *)&servaddr,sizeof(servaddr))<0) { perror("Bind Error"); exit(0); } listen(sersoc,10); for(;;) { len=sizeof(cliaddr); conn=(accept(sersoc,(struct sockaddr *)&clisoc,&len)); if((pid=fork())==0) { close(sersoc); ticks=time(NULL); strcpy(str,ctime(&ticks)); if(wri==(write(conn,str,sizeof(str),0))<0) { printf("Write Error");