Oppure

Loading
27/09/13 20:58
orma674
ciao a tutti, mi date un suggerimento per monitorare quando un client si disconnette dal server. Ho provato, penso in modo errato ad interrogare il metodo connected ma senza avere risultati. Non so se sbaglio ad usarla o non fa al mio caso. ho provato a monitorare con una funzione lo stato.

Public function IsConnected (byVal vTcpClient as TcpClient) as Boolean
if vTcpClient.Connected = True then
return true
else
return false
end if
end sub
aaa
28/09/13 7:48
TheDarkJuster
Connected non è un metodo. Comunque io invierei un segnale di presenza ogni 4-5 secondi, se non viene ricevuto dopo 10 secondi o si è disconnesso il client oppure il ping è mostruoso
aaa
28/09/13 12:14
orma674
Grazie mille.

Ottimo consiglio.
aaa
28/09/13 19:07
orma674
Ragazzi,
ho il seguente problema:

Inviando caratteri per controllare la presenza della connessione, mi si riempe il buffer in ricezione sul client di roba inutile.

ho provato a filtrare con una if ma questa non sta dietro al ciclo.

Mi date suggerimenti per l'invio di stringhe nulle che mi permettono di verificare la connessione ma non mi riempono il buffer.

Grazie per la collaborazione
Marcello
aaa
29/09/13 8:54
TheDarkJuster
non puoi inviare una stringa nulla, ma tu stai facendo una applicazoine che legge e scrive di continuo senza usare l' asincronia? Ti sei letto msdn.microsoft.com/en-us/library/… ? Quando leggi Dal socket dovresti comunque ricevere il numero di byte appena ricevuti, anche se di questo non sono molto sicuro.........
aaa
23/10/13 11:33
cyclope05
salve ragazzi.... forse il mio non è un metodo molto ortodosso però funziona ... quindi provo a suggerirvelo.
io ho messo una procedura sia nel pulsante disconnetti che nella chiusura del form così che quando si chiude mi manda una ultima stringa con la dicitura "Abbandono la conversazione" io faccio così perchè la mia è una chat, quindi quando il server la riceve mi toglie dalla lista quello specifico client... spero di essere stato utile...
ciau
aaa
23/10/13 23:03
orma674
Ciao cyclope05, in realtà avevo pensato a questo metodo ma questa non mi gestisce l'eccezione di chiusura forzata del client per errore, disconnessione, etc etc.
aaa
24/10/13 13:37
TheDarkJuster
cyclope e se io faccio ALT+F4? Rimango connesso in eterno?
aaa