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

Réseau C Discussion :

questions sur socket


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 57
    Par défaut questions sur socket
    bonjour,
    je suis débutant en socket et j'ai une grande confusion et j'espère que vous m'aidez à fixer des idées correctes alors ne riez pas si je pose des questions stupides:
    - si je veux faire un send() non bloquante alors comment je vérifie que toutes les données sont bien envoyées
    - quand on fait un accept() coté serveur, alors ce serveur fait une sorte de correspondance entre ce numero de socket et l'adresse ip du client ou quoi
    - une dernier question svp mon serveur est en attente de des données d'un client, comment je peus lui dire que le client a déconnecté ou comment gérer les timeout
    merci beaucoup

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    1. Sans doute avec la valeur retournée par send().
    2. Le accept() retourne l'adresse IP du client en plus du nouveau socket (dit "socket de travail") lorsque le client se connecte.
    3. Après une déconnexion "correcte" d'un client, recv() retourne zéro. Après une déconnexion "physique", je ne sais plus s'il y a un timeout ou si le serveur croit que le client est toujours connecté... Si ça se trouve, c'est réglable...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par mayu5 Voir le message
    bonjour,
    je suis débutant en socket et j'ai une grande confusion et j'espère que vous m'aidez à fixer des idées correctes alors ne riez pas si je pose des questions stupides:
    - si je veux faire un send() non bloquante alors comment je vérifie que toutes les données sont bien envoyées
    C'est justement pour éviter ça qu'on utilise pas les socket non bloquantes... Si tu y tiens, il faut utiliser select()...
    - quand on fait un accept() coté serveur, alors ce serveur fait une sorte de correspondance entre ce numero de socket et l'adresse ip du client ou quoi
    Oui. Les infos se trouvent dans la structure SOCKADDR_IN.

    - une dernier question svp mon serveur est en attente de des données d'un client, comment je peus lui dire que le client a déconnecté ou comment gérer les timeout
    lorsque le client se deconnecte, recv() devient non bloquant et retourne 0.

    On gère les timeout avec select().

    http://emmanuel-delahaye.developpez....aux.htm#select

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 57
    Par défaut
    merci pour vos reponses

Discussions similaires

  1. Question sur Socket!
    Par kurtiss dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 26/07/2007, 20h51
  2. question sur socket.h linux
    Par doommick31 dans le forum Réseau
    Réponses: 8
    Dernier message: 25/05/2007, 08h11
  3. Questions sur les socket
    Par lapras123 dans le forum Réseau
    Réponses: 13
    Dernier message: 09/06/2006, 16h34
  4. Encore une petite question sur les sockets...
    Par damien99 dans le forum MFC
    Réponses: 4
    Dernier message: 15/02/2006, 14h22
  5. [WinSock] Question sur les sockets (accept)
    Par Grey dans le forum MFC
    Réponses: 3
    Dernier message: 09/01/2006, 11h37

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