codice:
void mainProcessoA(){
for ( i = 0; i<N ; i++ ) {
if ( receiveMessage(sk_c,&msg) == -1) {
perror("testserv: receiveMssage");
break;
}
/* stampa del messaggio */
printMessage(&msg);
/* creazione messaggio di risposta */
msgr.type = MSG_QUERY;
strcpy(msgr.buffer,"server: ");
if (msg.length > 0) strcat(msgr.buffer,msg.buffer);
msgr.length = strlen(msgr.buffer) +1;
/* invio messaggio di risposta */
if ( sendMessage(sk_c,&msgr) == -1 ) {
perror("testcli: sendMessage");
break;
}
}
}
codice:
void mainProcessoB{
for ( i = 0; i<N ; i++ ) {
/* preparo il messaggio ...*/
msg.type=ch[i];
msg.length=0;
memset(msg.buffer,'\0',MAXBUF);
if ( text[i] !=NULL ) {
msg.length=strlen(text[i])+1;
strcpy(msg.buffer,text[i]);
}
/* lo invio */
/* sck e' la connessione su cui mandare il msg */
if ( sendMessage(sck,&msg) == -1 ) {
perror("testcli: sendMessage");
break;
}
fprintf(stdout,"testcli: invio <%c><%d><%s> \n",msg.type,msg.length,msg.buffer);
/* leggo la risposta */
if ( receiveMessage(sck,&msg) == -1) {
perror("testcli: receiveMessage");
break;
}
/* stampo la risposta */
fprintf(stdout,"testcli: recevo <%c><%d><%s> \n",msg.type,msg.length,msg.buffer);
}
}
printMessage non stampa nulla
fprintf(stdout,"testcli: recevo <%c><%d><%s> \n",msg.type,msg.length,msg.buffer); stampa correttamente.