Tuesday, 5 April 2011

Write a simple UDP client-server program to print day,time and ipaddress of client by server.(client side )

#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
int main(int argc,char **argv)
{
    if(argc<2)
    {
        printf("insuffcient parameters");
        exit(0);
    }
    struct sockaddr_in servsock;
    int sockfd,size;
    char msg[1024],str[1024];
    if((sockfd=socket(AF_INET,SOCK_DGRAM,0))<0)
    {
        perror("");
        exit(0);
    }
    time_t timer;
    timer=time(NULL);
    printf("socket created\n");
    size=sizeof(struct sockaddr);
    socklen_t len=sizeof(servsock);
    bzero(&servsock,size);
    servsock.sin_port=htons(45000);
    servsock.sin_family=AF_INET;
    servsock.sin_addr.s_addr=inet_addr(argv[1]);


    snprintf(msg,sizeof(msg),"%.24s\r\n",ctime(&timer));
    if((sendto(sockfd,msg,sizeof(msg),0,(struct sockaddr*)&servsock,len))<0)
    {
        perror("not send");
        exit(0);
    }


    close(sockfd);
    return 0;
}




Output:


compile the program and and pass ip address of server as argument


$cc client.c
$./a.out 10.24.107.25
$socket created

0 comments

 
© 2011-2012 ProgrammingBlue
Posts RSS Comments RSS
Back to top