|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 2599
|
[C] socket, read e write
Salve, devo creare un 2 programmi, uno client e uno server che comunicano inviandosi delle stringhe. Spesso però mi capita che inviando delle stringhe dal socket al client e viceversa, la read resti in uno stato "bloccato", anche se la write è terminata.
Io allora avevo pensato ad esempio, che quando il server invia una stringa al client, dopo gli invii anche un carattere di terminazione, tipo '^', cosi che quando il client legge quel carattere, capisce che la stringa è finita e l'esecuzione del programma può continuare. Esiste una soluzione diversa?? Questa mi sembra un po "rattoppata"...non sò.... grazie
__________________
Hp pavilion dv6-1250el [cpu: P8700 - ati radeon hd 4650 1 gb - 4 gb ram - hd 320 7200 rpm!] Garmin Official Thread |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2005
Messaggi: 439
|
potresti fare un strcmp se la stringa inserita contine la parola exit esce dal programma
if (strcmp(stringa,exit) exit(0); |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 2599
|
scusa forse ho scritto male io....allora diciamo che il client scrive qualcosa..la invia al server e questo la stampa a video.
Poi il server invia un altra stringa al client e questo la stmpa a video...e cosi via (semplificando molto). Adesso ogni read continua sempre a leggere..e come se non capisse quando deve smettere di leggere..ovvero quando la write dall'altra parte non gli dicesse che la stringa che stà inviando è termianta. Allora la mia idea era di inviare dopo tutta la stringa, un carattere tipo '^', in questo modo una read leggeva finchè non incontra questo carattere. Volevo sapere però se c'era una soluzione più pulita di questa...
__________________
Hp pavilion dv6-1250el [cpu: P8700 - ati radeon hd 4650 1 gb - 4 gb ram - hd 320 7200 rpm!] Garmin Official Thread |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:55.


















