TCP Socket - C Language
|
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 }