Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Client Serveur Asynchrone

1 réponse
Avatar
Antony
Bonjour,
Pour mon projet de fin d'étude je dois réaliser entre autre une application client serveur qui doit envoyer des fichiers xml. Pour cela, j'utilise une méthode asynchrone dont le code source provient de l'aide en ligne de Mircrosoft:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconnon-blockingclientsocketexample.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconnon-blockingserversocketexample.asp

Le code source complet de l'application peut etre trouvé ici: http://membres.lycos.fr/boujouman.
Vous m'excuserez du peu de commentaires.....

Bref, le problème se situe au niveau de l'envoi et de la réception des données. Lorsque je fais une requette cliente au serveur pour la première fois, la connexion est parfaitement réalisée et les données sont bien réceptionnées. Cependant, si j'essaie de faire une seconde connexion pour demander une AUTRE information, j'obtiens le message d'erreur suivant: le socket a été supprimé et il est impossible d'y accéder. Or pour chaque connexion, je créé un nouvel objet AsynchronousClient et je m'assure de détruire l'ancien.

Détailler le problème n'est pas très évident. C'est pour cela que je vous fournis le code.

Merci énormément de m'aider car je suis vraiment désemparer depuis 2 jours !

Antony

1 réponse

Avatar
Antony
Oui, je viens de faire une modification de mon code. J'emploie maintenant le meme object AsynchronousCLient et donc le même socket. Lorsque je tente d'envoyer pour la seconde fois une requette j'obtiens l'exception suivante:
System.Net.Sockets.SocketException: Une connexion établie a été abandonnée par un logiciel de votre ordinateur hôte at System.Net.Sockets.Socket.BeginSend(...) at FormGenerator.AsynchronousClient.Send(string data) in asynchronousclient.cs:line 249.

Je pense qu'il faudrait faire une queue ? En fait j'en sais rien du tout !