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
.NET Framework
[C#] Controllo IP realmente connessi
giovedì 18 giugno 2009 - 11.47
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
dookie07
Profilo
| Newbie
4
messaggi | Data Invio:
gio 18 giu 2009 - 11:47
Salve a tutti! Ormai manca poco alla maturità e mi manca davvero poco per ultimare la mia tesina. La mia tesina comprende un nuovo client di messaggistica istantanea e, naturalmente, anche la parte server. Questo software si integrerà con un forum che ho creato per la mia scuola, quindi si accederà con il proprio username del forum e nella lista contatti si avranno tutti gli utenti del forum. Ogni volta che uno si connette creo delle hashtable, contentente il loro ip (non vi sto a raccontare tutto).
Qui c'è il problema. Se un utente, chiude il programma o schiaccia il pulsante disconnetti, manda un messaggio al server dicendo che si sta disconnettendo e io lo elimino dalla hashtable. Ma se questo utenta stacca il cavo di rete o gli salta la corrente? Come faccio a testare se un utente è connesso o meno conoscendo il suo ip? avevo pensato ad un timer che ogni 5 minuti si mette a pingare tutti gli utenti che ho nell'hashtable. avete altre idee? se no, come faccio a creare questo timer?
Grazie in anticipo!
luxsor
Profilo
| Guru
1.079
messaggi | Data Invio:
gio 18 giu 2009 - 12:10
Ciao Manuel,
con questa funzione potrai pingare IP delle hashtable:
Function EseguiPing(ByVal ip As String) As Boolean
Dim Flag As Boolean = True
Dim PI As New Ping
Try
Dim Replay As PingReply = PI.Send(ip)
If Replay.Status <> IPStatus.Success Then
Flag = False
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return Flag
End Function
Fammi sapere
------------------------
Luxsor
dookie07
Profilo
| Newbie
4
messaggi | Data Invio:
gio 18 giu 2009 - 14:38
Mi è appena venuto un dubbio... se li pingo non va bene. Perchè se uno si connette tramite router e gli crasha il pc e lo spegne... riesco comunque a pingarlo perchè il router è connesso...
PS: ho trovato la soluzione... ogni tot tempo mando una stringa al client e se ricevo la risposta entro un tot tempo ok, altrimenti il client è disconnesso, no?
Farei partire un thread per fare ciò... cosa ne pensate?
dookie07
Profilo
| Newbie
4
messaggi | Data Invio:
ven 19 giu 2009 - 10:19
Nel main ho un ciclio while(true) quindi non si esce mai. Faccio questo perchè devo rimanere in continua attesa di messaggi da parte dei client. Ora arriva la domanda: come faccio a far partire un thread in quel ciclo while, che una volta finito ciò che deve fare , si ferma per 5 minuti e che poi riparta?
EDIT: se io ho:
MyThread.Start();
MyThread.Sleep(1000);
Prima di mettere in pausa il thread, il thread finisce ciò che deve fare?
EDIT2: piccolo problema... non posso fare .Sleep... perchè? ho già fatto using System.Threading;
EDIT3: Scusate, ho sparato tante cagate! Ho risolto! XD
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 !