Bonjour, je suis débutant en visual studio 2005.
J'ai voulu créer un chat serveur/client et tout marche quasiment.
Et j'arrive enfin au moment où je dois tester si un client est toujours connecté, j'ai du lire des tonnes et des tonnes de pages sur internet.
Je réalise donc ceci ( oui il est simple lol je ne suis qu'un petit nouveau ) :
private void lect_mess() {
Byte[] buffer = new Byte[1024];
String data = null;
Socket MySocket = (Socket)liste[liste.Count - 1];
while (Thread.CurrentThread.IsAlive)
{
if (MySocket.Connected)
{
if (MySocket.Poll(10, SelectMode.SelectRead) && MySocket.Available == 0)
{
Thread.CurrentThread.Abort(); }
else
{
MySocket.Receive(buffer);
data = null;
data = Encoding.ASCII.GetString(buffer);
listBox1.Items.Add("Client" + i + " : " + data);
}
}
}
}
Lorsque je déconnecte un client du serveur , mon serveur reçoit un dernier message et j'obtiens aussi un message d'erreur du style "débogage, envoyer le rapport d'erreurs ou ne pas envoyer" puis l'application se ferme.
Je lis ce rapport d'erreur qui est :
EventType : clr20r3 P1 : serveur.exe P2 : 1.0.2837.42190
P3 : 470b2d1c P4 : mscorlib P5 : 2.0.0.0 P6 : 461eee3d P7 : 154b
P8 : 21 P9 : system.argumentoutofrange
et je n'y comprends rien, pouvez vous m'aider s'il vous plait? Je pense que l'erreur vient du Thread.CurrentThread.Abort(); mais je n'arrive vraiment pas à résoudre ce problème, je n'en peux plus ! Merci d'avance pour les réponses.