Bonjour,
Je développe actuellement la fonctionnalité envoie de fichier de mon logiciel de discussion instantané. J'ai réussi à faire l'envoie d'un fichier tout bête mais je me suis rendu compte que lorsque j'essayais d'envoyer un deuxième fichier en même temps que le premier, le transfert des paquets du premier fichier s'arrêtait net, pour laisser place, au transfert des paquets du second!!!
Donc le transfert du premier fichier s'est interrompu!
ERf!!!!!
Pour envoyer un fichier, j'utilise un thread paramétré qui exécute une méthode bouclant sur tous les paquets de byte du fichier à envoyer:
Donc voilà, à la sélection du fichier, y a un nouveau thread qui est crée et pourtant, bien qu'à chaque fois ce soit une nouvelle instance, le thread est interrompu!!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 private void sendFile_Click(object sender, EventArgs e) { Thread sendFile= new Thread(new ParameterizedThreadStart(threadSendFile)); DialogResult dr = myAvatarBox.ShowDialog(); toto.Start(dr); }
Du côté de la réception, c'est basique
Un thread qui boucle à l'infini pour écouter la socket, à l'intérieur duquel se trouve un thread pour traiter les paquets reçus. En gros:
Voilà, j'ai vraiment besoin de vos lumières..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 while (true) { Thread trait=new Thread(new ParameterizedThreadStart(traitement)) trait.Start(); }
Je ne sais vraiment pas pourquoi, les threads crées ne s'executent pas tous en même temps, c'est étrange???
Merci de m'aider
Partager