TCP Socket - C Language
|
00001 00013 #include <stdlib.h> 00014 #include <string.h> 00015 00016 #include "errore.h" 00017 #include "commSSL.h" 00018 00020 int main(int argc,char* argv[]){ 00021 message_t msg; 00022 char * hostname; 00023 char * service; 00024 int sent; 00025 cli_conn * client; 00027 char messaggio[32768]; 00028 00029 hostname = "localhost"; 00030 service = "12100"; 00031 00032 /* Apro la socket di comunicazione col server */ 00033 if ((client = retrySSLConnection(hostname, service)) == NULL) { 00034 sys_err(__FILE__,__LINE__,"Client: Errore nella apertura del socket di comunicazione"); 00035 exit(EXIT_FAILURE); 00036 } 00037 00038 /* Preparo il messaggio da inviare al server 00039 * Abbastanza grande da forzare due read nella commSSL.c 00040 * */ 00041 msg.type = MSG_PRINT; 00042 msg.length = 32768; 00043 memset(&messaggio, 65, 32768); 00044 msg.buffer = messaggio; 00045 00046 /* invio un messaggio */ 00047 if ((sent = sendSSLMessage(client, &msg)) == -1){ 00048 if (client->socket != -1) closeSSLConnection(client); 00049 exit(EXIT_FAILURE); 00050 } 00051 00052 /* ricevo la risposta */ 00053 if (receiveSSLMessage(client, &msg) == -1){ 00054 if (client->socket != -1) closeSSLConnection(client); 00055 exit(EXIT_FAILURE); 00056 } 00057 00058 if (msg.type==MSG_OK) 00059 printf("Client: conferma ricezione messaggio\n"); 00060 else{ 00061 fprintf(stderr,"Client: messaggio non riconosciuto\n"); 00062 closeSSLConnection(client); 00063 exit(EXIT_FAILURE); 00064 } 00065 00066 /* Chiudo la socket di comunicazione del client */ 00067 closeSSLConnection(client); 00068 unloadSSL(); 00069 return 0; 00070 }