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

Web & réseau Delphi Discussion :

Probleme avec Close Socket


Sujet :

Web & réseau Delphi

  1. #1
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 168
    Points : 120
    Points
    120
    Par défaut Probleme avec Close Socket
    Bonjours , je développe une application Client Server , il j'agis d'une application multithread et multi sockets.

    c'est a dire on peut listen sur 1 ou plusieurs ports pour capter les connexions Client .
    le Server liste chaque connexion de chaque port d'écoute sur une grille principal , j'ai coder un système qui permet de fermer un port d'écoute voila le probleme lorsque je ferme un port d'écoute de la grille , ( il n'écoute plus ) mais les connexions Établie reste Établie .

    c'est difficile a expliquer mais en gros comment fermer un listen totalement que sa ferme aussi les connexions etablies sur ce port .

    J'utilise les Thread VCL et Winsock

    Procédé d'écoute.

    Je crée un socket d'écoute ,
    >> il cré un thread (thread listen)
    dans ce thread si une connexion arrive il crée un nouveau thread qui recevra le texte etc

    le code que j'utilise pour fermer une socket est

    CloseSocket(S);

    S est la socket d'écoute qui est crée au debut de la création du thread d'écoute!

    Merci!

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    c'est le fonctionnement normal

    si tu veux fermer les connexions clientes existantes tu dois fermer chaque socket retourné par la fonction accept()

  3. #3
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 168
    Points : 120
    Points
    120
    Par défaut
    Merci pour la reponse ,
    en gros faut que je ferme chaque sockets 1 par 1 ?
    mais comment les composants comme Scktcomp (TClient et TServer socket) font pour que quand on fait stop listen , toute les connexions s'eteigne?

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    Citation Envoyé par 0x44-0x43-0x53-0x43 Voir le message
    Merci pour la reponse ,
    en gros faut que je ferme chaque sockets 1 par 1 ?
    mais comment les composants comme Scktcomp (TClient et TServer socket) font pour que quand on fait stop listen , toute les connexions s'eteigne?
    si c'est le cas je ne trouve cela pas normal.

    tu peux très bien avoir un serveur pour lequel tu ne veux plus ouvrir de nouvelles connexion mais qui doit continuer les sessions ouvertes.

    et de toute façon au niveau de l'API Winsock, l'arrêt du listen ne ferme pas les autres sockets.

Discussions similaires

  1. problem avec les sockets
    Par nadiamo dans le forum C++Builder
    Réponses: 4
    Dernier message: 01/06/2009, 20h08
  2. probleme avec les sockets
    Par younesgates dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 23/01/2009, 21h50
  3. probleme avec les sockets
    Par lilou77 dans le forum C++
    Réponses: 2
    Dernier message: 27/08/2007, 14h54
  4. probleme avec les sockets
    Par iznogoud36 dans le forum Linux
    Réponses: 4
    Dernier message: 20/12/2006, 10h33
  5. Probleme avec des socket !
    Par Ptimath44 dans le forum Réseau
    Réponses: 11
    Dernier message: 31/10/2005, 18h11

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