PDA

Visualizza la versione completa : [C] Passaggio di parametri client/server


xxTxx
09-07-2010, 16:25
Ciao a tutti!!
sto gestendo il gioco della briscola con client/server ed ho un problema...
Nel server ho la seguente struttura per rappresentare le carte da briscola e uso la funzione 'stampa' per stampare le carte del giocatore:



struct briscola{

char num;

char segno;

};


struct briscola carte[40];
struct briscola Gioc1[3];
struct briscola Gioc2[3];



void stampa(struct briscola Gioc[], int sockGioc){

int i;

for (i=0; i<3;i++){
int valnum = Gioc[i].num;

send(sockGioc, (char*)&valnum, sizeof(int), 0);

send(sockGioc, &Gioc[i].segno, sizeof(char), 0);

}

} //stampa()


quando mando in esecuzione per non vengono visualizzati i valori delle carte, ma gli indirizzi di memoria...cosa devo fare per risolvere il problema? qualcuno pu aiutarmi??
Grazie in anticipo!!

oregon
09-07-2010, 17:08
Ma "stampi" dove? Cosa intendi? Quale istruzione visualizza?

In realt, la send invia i dati ad un altro PC ...

xxTxx
09-07-2010, 17:56
si l'altro pc poi stampa a video il numero e il segno delle carte che riceve tramite socket...ma il problema non quello!!
io vorrei sapere xk non giusto il comando:

send(sockGioc, (char*)&valnum, sizeof(int), 0);
che invia il numero della carta al client...xk mi fa vedere l'indirizzo di memoria???....quello ke ho scritto dovrebbe accedere al contenuto se non sbaglio!!? ;)


giusto x completezza posto un pezzo di codice di quello ke fa il client x visualizzare le carte:


for (j=1; j<=3; j++) { // leggo le tre carte

// numero carta

if(recv(sockfd, &numero, sizeof(int), 0)<=0) {
printf("Connessione al server interrotta.");

exit(3);

}



// segno carta

if(recv(sockfd, &segno, sizeof(char), 0)<=0) {

printf("Connessione al server interrotta.");

exit(3);

}



if (numero != 0) {

printf("Carta %i: %i%c\n", j, numero, segno);
}

}

oregon
09-07-2010, 19:01
Originariamente inviato da xxTxx
si l'altro pc poi stampa a video il numero e il segno delle carte che riceve tramite socket...ma il problema non quello!!

Ecco ... l'altro PC che visualizza ...

...

Per capirci ... cosa mostra esattamente il client che riceve ?

Loading