You are on page 1of 3

/*******************************************************************************

***********************
FILE NAME:client.c
FILE DESCRIPTION:client file which connects with server and call
s other functions to
ask for user credentials.
REVISION HISTORY
DATE

NAME

10-MAR-2014

REFERENCE

REASON

NONE

PROJECT

Revision History
Copyright 2014,Aricent Group(Holdings) pvt,ltd
********************************************************************************
*********************/
/*******************************************************************************
********************
HEADER FILE INCLUSION
********************************************************************************
*******************/
#include"./../include/header.h"
/*******************************************************************************
*****************
GLOBAL VARIABLE
********************************************************************************
*****************/
int sd;/***socket descriptor**/
/*******************************************************************************
******************
FUNCTION NAME:signal_handler()
FUNCTION DESCRIPTION:Function to handle SIGINT signal
ARGUMENTS:Signal
RETURN TYPE:void
********************************************************************************
******************/
void signal_handler(int signo)
{
if(SIGINT == signo)

{
close(sd);
printf("\nEXITING CLIENT ");
exit(1);
}
}
/*******************************************************************************
*******************
FUNCTION NAME:main()
FUNCTION DESCRIPTION:main function to implement the client for t
he specified task
FUNCTION ARGUMENTS:Takes filename as command line argument
RETURN TYPE:int
********************************************************************************
*******************/
int main(int argc,char *argv[])
{
signal(SIGINT,signal_handler);
int ret = 0;
struct sockaddr_in serveraddress;
if(3 > argc)
{
printf("\nEnter the correct number of arguments<EXE><IP><PORT>");
exit(1);
}
sd = socket(AF_INET,SOCK_STREAM,0);
if(0 > sd)
{
perror("\nCLIENT:Eroor in creating a socket");
printf("%s",strerror(errno));
close(sd);
exit(1);
}
memset(&serveraddress,0,sizeof(serveraddress));
serveraddress.sin_family = AF_INET;
serveraddress.sin_port = htons(atoi(argv[2]));
serveraddress.sin_addr.s_addr = inet_addr(argv[1]);
ret = connect(sd,(struct sockaddr *)&serveraddress,sizeof(serveraddress));
if(0 > ret)
{
perror("\nCLIENT:Error in connecting");

printf("%s",strerror(errno));
close(sd);
exit(1);
}
ret = input_login_credential(sd);/*****sends type of user,username and p
assword to server***/
if(FAILURE == ret)
{
printf("\nCLIENT:Error in Sending to server");
close(sd);
exit(1);
}
close(sd);
return 0;
}

You might also like