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.NET Discussion :

Probleme de fermeture de socket serveur apres un 'beginaccept'


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 18
    Par défaut Probleme de fermeture de socket serveur apres un 'beginaccept'
    Bonjour,


    Alors voila je developpe une petite application client / serveur, en utilisant les socket.

    Mon probleme est le suivant :
    - je connecte mon serveur et le met en attente d'une connection client
    - la un client se connecte, ca declenche mon evenement delegate et je coupe l'attente en faisant EndAccept
    - je coupe mon socket serveur en faisant 'Close' -> OK

    maintenent si je coupe le socket alors qu'aucun client ne s'est connecter, donc toujours en attente de client la j'ai une erreur...
    d'ou ma question : comment mettre fin a l'ecoute du serveur?
    j'ai plusieur choses, couper le client, le serveur ... mais rien n'y fait.

    mon code :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    Imports System.Net
    Imports System.Net.Sockets
     
    Public Class SERVEURclass
     
     
        Public Event OnServerConnection(ByVal localIP As String, ByVal localPORT As Integer)
        Public Event OnServerDisconnection()
        Public Event OnServerNewClientConnected(ByVal remoteIP As String, ByVal remotePORT As Integer)
     
        Private serv_SockListen As Socket
        Private serv_SockClient As Socket
     
        Private serv_Ip As String
        Private serv_Port As Integer
     
     
     
        Public Sub New(ByVal IP As String, ByVal PORT As Integer)
     
            serv_Ip = IP
            serv_Port = PORT
     
        End Sub
     
     
     
        Public Function Connect()
     
            Dim SERVEUR_ep As IPEndPoint
     
            serv_SockListen = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
            SERVEUR_ep = New IPEndPoint(IPAddress.Parse(serv_Ip), serv_Port)
     
            serv_SockListen.Bind(SERVEUR_ep)
     
            serv_SockListen.Listen(1)
     
            serv_SockListen.BeginAccept(AddressOf New_Client, serv_SockListen)
     
            'EVENT1
            RaiseEvent OnServerConnection(serv_Ip, serv_Port)
     
            SERVEUR_ep = Nothing
     
        End Function
     
        Public Function Disconnect()
     
            'serv_SockListen.Close()
     
            'EVENT2
            RaiseEvent OnServerDisconnection()
     
        End Function
     
        Private Function New_Client(ByVal asyncResult As IAsyncResult)
     
            serv_SockClient = serv_SockListen.EndAccept(asyncResult)
     
            'EVENT3
            RaiseEvent OnServerNewClientConnected(serv_SockClient.RemoteEndPoint.Serialize.ToString, 10)
     
        End Function
     
     
     
    End Class

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Par défaut
    Salut,

    google est tom ami: http://stackoverflow.com/questions/1...naccept-method

    donc a priori un catch de lexeption levee semble etre la solution adoptee.

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Par défaut
    https://msdn.microsoft.com/fr-fr/lib...v=vs.110).aspx

    Appelez la méthode Stop pour fermer TcpListener.



    Remarque


    La méthode Stop ne ferme aucune connexion acceptée. C'est à vous qu'il incombe de fermer celles-ci séparément.

Discussions similaires

  1. Probleme de fermeture de socket
    Par alex8276 dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 15/04/2015, 06h47
  2. Probleme de fermeture de socket
    Par nzo70 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 15/12/2008, 16h30
  3. [DOM] probleme de fermeture de fichier xml apres modification
    Par bibi73 dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 08/04/2008, 16h13
  4. Fermeture de socket me pose problème !
    Par MonsieurAk dans le forum Réseau
    Réponses: 2
    Dernier message: 15/05/2006, 23h03
  5. [Linux] Probleme de fermeture de Sockets
    Par diefo dans le forum Réseau
    Réponses: 6
    Dernier message: 30/12/2003, 13h10

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