Salut,
J'ai un problème concernant le multithreading sous C#.NET
2005, j'ai essayé de chercher une solution dans le web mais sans résultat.
En effet je veux crée une application de messagerie
instantané de style Skype ou MSN. Alors j'ai besoin d'un thread qui fait
l'écoute de port avec la classe TcpListener, et à chaque demande de connexion
le thread doit lancer une nouvelle instance d'une fenêtre (CahtForm) nécessaire
pour l'échange des messages entre le deux client. De point de vu code tous va
bien (sans erreurs) mais lorsque un client demande la connexion la fenêtre
(ChatForm) se lance mais elle se bloque de façon que l'utilisateur ne peut rien
faire car il voit une fenêtre blanche sur son écran !!! Je sais pas quoi faire
pour remédier à se problème !!!
Voici un peu le code du thread utilisé :
private
void Start()
{
try
{
MyTcpListener = newTcpListener(MyAdress,port);
MyTcpListener.Start();
while (true)
{
MyTemTcpClient = MyTcpListener.AcceptTcpClient();
ChatForm
MyChatForm = newChatForm();
MyChatForm.Client=MyTemTcpClient ;
MyChatForm.Show() ;
}
}
catch
{ MessageBox.Show("Impossible
de démarrer le serveur"); }
}
J'attends vos réponses si non vos clarifications et vos
remarques constrictives !!!
Merci d'avance pour votre aide !!!
Que vive le multithreading !!