Sto lavorando ad un progetto per l'università e ho incontrato alcuni problemi durante la realizzazione.
A grandi linee il progetto riguarda una rubrica tenuta da un server alla quale client possono accedere svolgendo alcune operazioni. La comunicazione avviene tramite pipe e una volta che il client è stato servito, termina, mentre il server si rimette in ascolto di altre richieste.
Faccio un esempio pratico di una esecuzione per farvi capire i problemi che ho:
- Parte il server e si mette in ascolto sulla pipe
- Parte il client con richiesta di aggiungere un contatto
- dopo aver immesso i dati necessari (da tastiera) a creare il contatto, viene spedito al server uno stringone con vari campi (definiti dalle specifiche) da spezzare per ricavare le info necessarie (vi basti sapere che i messaggi hanno lunghezza fissa)
- il server estrae le info necessarie (una parte dello stringone è il nome della pipe su cui rispondere, una parte rappresenta il tipo di operazione e un'altra rappresenta in questo caso i dati del contatto).
- il campo dati contatto viene salvato su una stringa e poi si fanno le operazioni necessarie..
Il problema nasce dopo. Il server serve la richiesta, e torna in ascolto, faccio partire un altro client sempre con la richiesta di aggiunta, e a questo punto il server legge dalla pipe e salva cio che gli serve nella sua stringa di appoggio. Il problema è proprio questa stringa, in quanto risulta inconsistente con i dati letti. cioe se stampo i vari campi del contatto, vengono fuori tutti simboli strani e nel campo cognome viene scritto INEVITABILMENTE il nome della pipe della richiesta precedente....![]()
Ho provato a far si che ad ogni ciclo (quindi finito di servire una richiesta e prima di accettarne un'altra ) questa stringa di appoggio venisse riempita di spazi per togliere eventualmente roba precedente, ma il nome della pipe rimane, anzi, sembra quasi che mi metta tutti gli spazi spostando semplicemente i caratteri presenti in precedenza. QUindi se stampo la stringa dopo il ciclo di "sbiancatura" mi vengono tanti spazi e alla fine il nome della pipe della richiesta appena servita....
Scusate se sono lungo ma non sono bravo a spiegarmi tra l'altro non ho il codice qui a casa spero possiate darmi qualch consiglio (ci sarebbe un altro problema ma eventualmente dopo, ora questo è quello che blocca di piu)
grazie!!![]()