Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    18

    passaggio di parametri [C client/server]

    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:

    codice:
    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!!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ma "stampi" dove? Cosa intendi? Quale istruzione visualizza?

    In realtà, la send invia i dati ad un altro PC ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    18
    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:
    codice:
     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:
    codice:
    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);
    			}
    
    		}

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    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 ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.