Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Il fatto è che una volta eseguito il passo 2, il server riceve ripetutamente il comando...
L'unica soluzione che ho trovato è stata quella di chiudere e riaprire la pipe....
Avete qualche altra soluzione più elegante?
Dalle mie parti si dice "no la se so mare!"
Da quello che ho capito il server riceve continuamente il comando e non una sola volta giusto? La butto lì. Hai provato a metterlo in una funzione e terminarla con un break?
Il server consiste in un loop che legge ripetutamente la pipe ed esegue il comando ricevuto...
Il fatto è che ripete sempre l'ultimo comando consecutivamente anche se lo mando una sola volta....
Il server legge dalla pipe, ma se si implementa con un loop il server non leggerà mai una sola volta il comando mandato dal client.
Non è forse più corretto porre il server in attesa di un segnale lanciato dal client e solo allora fare in modo che il server legga la pipe? togliendo cosi il loop?
cioè...
il client scrive sulla pipe e successivamente manda un segnale al server, il server(fino ad allora in attesa) si sveglia e legge la pipe(una sola volta senza polling).
Il server legge dalla pipe, ma se si implementa con un loop il server non leggerà mai una sola volta il comando mandato dal client.
Non è forse più corretto porre il server in attesa di un segnale lanciato dal client e solo allora fare in modo che il server legga la pipe? togliendo cosi il loop?
cioè...
il client scrive sulla pipe e successivamente manda un segnale al server, il server(fino ad allora in attesa) si sveglia e legge la pipe(una sola volta senza polling).
In teoria, essendo la pipe un FIFO, non dovrebbe essere vuota dopo aver letto il comando?
o sennò fare un bel flush sullo stream appena dopo aver letto il comando, cioè svuotare il buffer dell'istruzione, in modo che non venga più letta.