View Full Version : [C] Problema sovrascrittura dati fra processi (client-server)
kemistry
16-07-2008, 20:42
Ciao a tutti,questo è il mio problema,spero possiate darmi una mano a risolverlo:
Ho un server e più client.Gestisco bene il collegamento di client multipli ad un solo server attraverso una fork che si attiva ogni qual volta si collega un nuovo client.
Ogni client,quando si collega, dovrebbe inviare una serie di dati che il server inserisce in un array di struct.
Per far si che i dati di ogni client non si sovrascrivano ad ogni collegamento avevo inserito una variabile globale,ma questa variabile non serve a niente,i dati di ogni client si sovrascrivono puntualmente ad ogni collegamento.
Qualcuno sa darmi qualche suggerimento? :confused:
kemistry
18-07-2008, 08:13
Nessuno nessuno?? :(
Big Bamboo
18-07-2008, 12:34
Potresti postare un po' di codice e spiegare più dettagliatamente chi fa cosa?
Chi aggiorna l'array? il padre, i figli Come è dichiarato l'array ecc ecc
kemistry
18-07-2008, 21:20
Potresti postare un po' di codice e spiegare più dettagliatamente chi fa cosa?
Chi aggiorna l'array? il padre, i figli Come è dichiarato l'array ecc ecc
Grazie per l'interessamento,ma ho risolto con una lista lineare che dovrebbe andar bene.
Per verificare,però,dovrei inviare la lista ad un client.
Come posso inviare una lista lineare (e quindi dinamica) ad un client?
Big Bamboo
19-07-2008, 18:58
Se il client è in remoto, l'unica cosa che puoi fare è inviare i dati alla prima connessione, e poi inventarti un protocollo che gestisca eliminazione e inserimento quando ci sono delle modifiche sul server
kemistry
20-07-2008, 14:16
Se il client è in remoto, l'unica cosa che puoi fare è inviare i dati alla prima connessione, e poi inventarti un protocollo che gestisca eliminazione e inserimento quando ci sono delle modifiche sul server
Io questo faccio,ma il problema è proprio l'invio della lista e la sua ricezione.
Il problema l'ho spiegato nel dettaglio qui
http://www.hwupgrade.it/forum/showthread.php?t=1785982
Big Bamboo
20-07-2008, 16:03
non puoi pensare di inviare i puntatori (sul client l'area di memoria è diversa), l'unica è inviare i dati grezzi e poi inizializzare sul client una nuova lista
kemistry
20-07-2008, 17:18
non puoi pensare di inviare i puntatori (sul client l'area di memoria è diversa), l'unica è inviare i dati grezzi e poi inizializzare sul client una nuova lista
Quindi dovrebbe andar bene se, con un ciclo, nel server invio ogni campo della lista e nel client faccio lo stesso ricevendoli uno ad uno e poi inizializzandoli,giusto?
Big Bamboo
20-07-2008, 18:39
Quindi dovrebbe andar bene se, con un ciclo, nel server invio ogni campo della lista e nel client faccio lo stesso ricevendoli uno ad uno e poi inizializzandoli,giusto?
esatto
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.