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

VB 6 et antérieur Discussion :

recupération d'un port après fermeture


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 126
    Points : 73
    Points
    73
    Par défaut recupération d'un port après fermeture
    Bonjour, mon problème :
    1)je lance un serveur en initialisant un port
    2)je l'arrête
    3)je le relance (sur le même port)
    Lors du premier lancement 1), une application se connecte sur à mon serveur sans problème.
    Problème :
    Lors du second lancement 2), la connection est refusé. En me mettant en debug, jme rend compte que le local port n'est pas vide, donc il considère que c'est toujours en écoute. j'ai lu sur quelque site qu'il fallait un time out de 60s pour que le local port perde l'ancienne, valeur. Après 7 min, la connexion m'est toujours refusé....
    Si quelqu'un sait pourquoi, ca m'aiderait
    Mon code d'initialisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If (WinsockRep(0).LocalPort <> 0) And (WinsockRep(0).LocalPort <> VPort%) Then
    '        MSGBOX "Attention, port TCP/IP déjà ouvert", 16, "FSOCKET"
        ElseIf (WinsockRep(0).LocalPort <> VPort%) Then
            'Mise à l'écoute
            WinsockRep(0).LocalPort = VPort%
            WinsockRep(0).RemotePort = 0
            WinsockRep(0).Listen
            SOCKETTrace "=== Ouverture écoute Socket 0 port" + Str(VPort%) + RcLf()
        End If
    Mon code de fermeture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WinsockRep(Canal%).Close
        Unload WinsockRep(Canal%)

  2. #2
    Membre actif Avatar de AdHoc
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 245
    Points : 239
    Points
    239
    Par défaut
    Bonjour,
    C'est lié (je crois) au protocole Tcp/ip, à l'origine pour l'armée américaine et prévu pour garder les communication en cas de guerre nucléaire. La dessus, il y a l'implémentation Microsoft qui n'est pas parfaite (bien prendre le winsock du dernier service pack).

    => le résultat il y a une rémanence de la socket longtemps, longtemps après le déchargement.

    Solutions: charger des instances de sockets comme pour le multi client.
    Extrait de l'aide Vb:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Private intMax As Long
     
    Private Sub Form_Load()
       intMax = 0
       sckServer(0).LocalPort = 1001
       sckServer(0).Listen
    End Sub
     
    Private Sub sckServer_ConnectionRequest _
       (Index As Integer, ByVal requestID As Long)
       ' On écoute sur 0
       If Index = 0 Then
          intMax = intMax + 1
          Load sckServer(intMax)
          sckServer(intMax).LocalPort = 0
          'on accepte sur la suivante
          sckServer(intMax).Accept requestID
       End If
    End Sub

Discussions similaires

  1. [winsock]Forcer la fermeture d'un port après un timeout
    Par Traouspont dans le forum Windows
    Réponses: 13
    Dernier message: 09/06/2007, 16h51
  2. [C#]remplissage d'un textbox apres fermeture popup
    Par julio84 dans le forum ASP.NET
    Réponses: 9
    Dernier message: 11/05/2005, 14h44
  3. [C#]rechargement page apres fermeture popup
    Par julio84 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 04/05/2005, 10h50
  4. Réponses: 3
    Dernier message: 28/09/2004, 17h39
  5. Probleme de redirection apres fermeture de session
    Par soufienne dans le forum ASP
    Réponses: 3
    Dernier message: 08/04/2004, 11h52

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