TCP Socket - C Language
client.c
Vai alla documentazione di questo file.
00001 
00012 #include "errore.h"
00013 #include "comm.h"
00014 
00016 int main(int argc,char* argv[]){
00017         message_t msg;
00018         int sk_client;          
00019         char * hostname;        
00020         char * service;         
00021         int sent;
00022 
00023         char messaggio[30000];
00024 
00025         hostname = "localhost";
00026         service = "12100";
00027 
00028         /* Apro la socket di comunicazione col server */
00029         if ((sk_client = retryConnection(hostname, service)) == -1)
00030                 exit(EXIT_FAILURE);
00031 
00032         /* Preparo il messaggio da inviare al server
00033          * Abbastanza grande (si spera) da forzare due read nella comm.c
00034          *  */
00035         msg.type = MSG_PRINT;
00036         msg.length = 30000;
00037         memset(&messaggio, 65, 30000);
00038         msg.buffer = messaggio;
00039 
00040         /* invio un messaggio */
00041         if ((sent = sendMessage(sk_client, &msg)) == -1){
00042                 if (sk_client != -1) closeConnection(sk_client);
00043                 exit(EXIT_FAILURE);
00044         }
00045 
00046         /* ricevo la risposta */
00047         if (receiveMessage(sk_client, &msg) == -1){
00048                 if (sk_client != -1) closeConnection(sk_client);
00049                 exit(EXIT_FAILURE);
00050         }
00051 
00052         if (msg.type==MSG_OK)
00053                 printf("client: conferma ricezione messaggio\n");
00054         else{
00055                 fprintf(stderr,"Client: messaggio non riconosciuto\n");
00056                 closeConnection(sk_client);
00057                 exit(EXIT_FAILURE);
00058         }
00059 
00060         /* Chiudo la socket di comunicazione del client */
00061         closeConnection(sk_client);
00062         return 0;
00063 }