Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Non intercetta la chiusura di un socket
giovedì 25 novembre 2004 - 17.25
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ffederico
Profilo
| Newbie
25
messaggi | Data Invio:
gio 25 nov 2004 - 17:25
ho un problema con i socket.
ho collegato due computer utilizzando i socket in tcp ip.
per gestire questo tipo di comunicazione ho utilizzato direttamente l'oggetto Socket e non i lTcpClient e simili.
la comunicazione avviene in maniera corretta e se sul client chiudo correttamente la connessione, il server se ne accorge ed esegue le sue operazioni.
se invece stacco il cavo di rete o spengo brutalmente la macchina, il server non se ne accorge.
perche'?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
dom 28 nov 2004 - 11:40
Ciao,
se stacchi il cavo in teoria se i due socket sono connessi uno (quello sul server) dovrebbe rimanere scollegato e dovresti accorgertene.
Mi pare ci sia una proprietà chiamata IsConnected che ti permette di verificare se l'altra parte c'è ancora oppure no.
In ogni caso puoi fare un polling quindi spedire dei pacchetti sul destinatario e sul server dovrebbe scatenarti un'eccezione se di là nessuno ha accettato il pacchetto.
ciao
david
ffederico
Profilo
| Newbie
25
messaggi | Data Invio:
lun 29 nov 2004 - 08:15
no. non funziona cosi'. ma credo sia voluto.
prova a staccare il cavo di rete e, prima che il server se ne accorga, prova a riconnetterlo. vedrai che i lclient ricevera' tutti i messaggi che non aveva ricevuto da quando era stato scollegato i lcavo di rete.
credo che questo comportamento sia voluto come in tutti i casi di IO.
la cosa che non riesco a fare e' pero' forzare invece il comportamento opposto.
ho provato con l'impostare la proprieta' KeepAlive o con il metodo Poll ma niente.
l'unica soluzione che ho trovato e' l'invio di un ack e l'intercettazione di un nak entro i secondi minimi che mi servono.
ffederico
Profilo
| Newbie
25
messaggi | Data Invio:
gio 4 ago 2005 - 17:47
quella che ho proposto era una veloce soluzione ma e' migliore quella che trovate nel thread KeepAlive di un socket.
federico
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !