PDA

Visualizza la versione completa : [C/C++]Verificare se socket connessa


atm
06-04-2010, 15:17
Ciao ragazzi,
allora ho sviluppato un tcp client utilizzando le socket di basso livello.
Ora mi voglio assicurare che questa socket sia sempre connessa al server. Come faccio ad assicurarmi in qualsiasi momento che la connessione non sia caduta?

Grazie

oregon
06-04-2010, 16:17
E che senso ha? La connessione ti serve quando trasmetti/ricevi dati ... se non riesci, allora il socket non connesso e operi di conseguenza.

atm
07-04-2010, 10:50
Originariamente inviato da oregon
E che senso ha? La connessione ti serve quando trasmetti/ricevi dati ... se non riesci, allora il socket non connesso e operi di conseguenza.

Allora ho necessit di sapere prima di spedire su socket lo stato della stessa, perch se la connessione per qualunque motivo non pi "buona" ho bisogno di crearne una nuova.Per fare questo ho usato il metodo select() della socket che dovrebbe controllare lo stato, ma ho sempre bisogno di impostare tutti e tre i puntatori altrimenti non funziona come dovrebbe.
Avrei bisogno di un suggerimento per utilizzare correttamente la select();
Grazie.

oregon
07-04-2010, 14:11
Secondo me una approccio sbagliato.

La connessione pu cadere in qualsiasi momento, anche poco dopo che ti sei accertato che la connessione attiva e stai iniziando a trasmettere. Cosa fai se cade "mentre" trasmetti?

Insomma, il corretto modo di agire, secondo me, quello di iniziare a trasmettere facendo attenzione agli errori. Se ne rilevi qualcuno, allora dovrai rinunciare alla sessione corrente ed aprirne un'altra, ripetendo questo ciclo.

Loading