IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Serveur asynchrone et rappel de connexion


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 99
    Points : 123
    Points
    123
    Par défaut Serveur asynchrone et rappel de connexion
    Bonjour,

    J'ai fais un client serveur en mode asynchrone, je me suis aidé de ces deux codes d'exemples de la MSDN :
    http://msdn.microsoft.com/fr-fr/library/bew39x2a.aspx
    http://msdn.microsoft.com/fr-fr/library/fx6588te.aspx

    J'arrive à envoyer mon message au serveur et à recevoir un retour (normal j'ai fais du copier coller ) mais le problème se situe lorsque je veux rappeler cette même méthode, mon client me signale que la connexion est fermée et c'est ici que je bloque je ne comprends pas très bien.

    Dans mon formulaire client, j'appelle ma méthode Main de ma classe comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AsynchronousClient.Main()
    Pour moi une fois exécutée je pense que le socket a été ouvert, le message a été envoyé et le socket a été refermé, donc je renvoie une autre demande en ajoutant exactement la même ligne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AsynchronousClient.Main()
    AsynchronousClient.Main()
    Mais ici on me dit que la connexion a été supprimée, j'ai l'impression qu'au deuxième appel il utilise le socket du premier appel mais le ferme durant la procédure et finalement n'arrive pas à exécuter ce que je lui demande.

    N'étant pas un spécialiste des sockets, est ce que vous pourriez m'aider sur ce point, comment faire un deuxième appel de cette méthode main sans problème ? Y a t il une chose que j'ai oublié ou mal fait ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 99
    Points : 123
    Points
    123
    Par défaut
    J'ai trouvé tout seul (encore ^^)

    Il fallait "Reset" les états à chaque fin de connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        ' ManualResetEvent instances signal completion.
        Private Shared connectDone As New ManualResetEvent(False)
        Private Shared sendDone As New ManualResetEvent(False)
        Private Shared receiveDone As New ManualResetEvent(False)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            connectDone.Reset()
            sendDone.Reset()
            receiveDone.Reset()

    Merci quand même

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/02/2012, 10h02
  2. [WS 2003] Mon serveur ne recoit pas les connexions resaux
    Par koyt dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 24/08/2009, 11h05
  3. Différence entre serveur synchrone et serveur asynchrone
    Par luckyluc. dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 17/04/2009, 15h24
  4. Serveur RED5-communication état de connexion
    Par javass dans le forum Dynamique
    Réponses: 0
    Dernier message: 20/02/2009, 12h19
  5. architecture d'un programme client/serveur asynchrone (win)
    Par Heimdall dans le forum Développement
    Réponses: 2
    Dernier message: 05/09/2003, 23h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo