int main(int argc, char * argv[])
{
SOCKET conn_s;
short int port;
struct sockaddr_in server;
char buffer[MAX];
char *szAddress;
char *szPort;
char *endPtr;
struct hostent *he;
char choise;
u_long nRemoteAddr;
WSADATA wsaData;
he=NULL;
puts(" PRENOTAZIONE CINEMA CLIENT");
//interpretazione riga di comando
ParseCmdLine(argc,argv,&szPort,&szAddress);
//creazione del socket
port= strtol(szPort,&endPtr,0);
if(*endPtr)
{
printf("client:porta non riconosciuta \n");
system("PAUSE");
exit(EXIT_FAILURE);
}
if(WSAStartup(MAKEWORD(1,1),&wsaData)!=0)
{
printf("errore in WSA startup");
exit(EXIT_FAILURE);
}
if((conn_s=socket(AF_INET,SOCK_STREAM,0))<0)
{
fprintf(stderr,"client :errore socket");
system("PAUSE");
exit(EXIT_FAILURE);
}
// Vuotiamo la struttura server e riempiamo i campi necessari */
memset(&server,0,sizeof(server));
server.sin_family=AF_INET;
server.sin_port=htons(port);
//connessione al server
nRemoteAddr=inet_addr(szAddress);
if(nRemoteAddr==INADDR_NONE)
{
printf("client: errore ,indirizzo non valido");
if((he=gethostbyname(szAddress))==NULL)
{
printf("client: connessione fallita");
system("PAUSE");
exit(EXIT_FAILURE);
}
printf("client: connessione riuscita \n");
nRemoteAddr=*((u_long*)he->h_addr_list[0]);
}
server.sin_addr.s_addr=nRemoteAddr;
//connect
if(connect(conn_s,(struct sockaddr *) &server,sizeof(server))<0)
{
printf("client: errore nella connect");
exit(EXIT_FAILURE);
}
|