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 :

protocole TCP, comment répondre au client sur mon serveur


Sujet :

Réseau C

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 274
    Points : 56
    Points
    56
    Par défaut protocole TCP, comment répondre au client sur mon serveur
    Bonjour à tous,

    J'utilise le protocole TCP et j'arrive a récupérer le message que m'envoie le client_cosmoff à mon serveur, mais comment lui répondre ?

    je suis obligé de faire sur le meme programme un serveur et un client, et je récupere l'adresse et le port de mon client_cosmoff via la fonction getpeername(fd_accept, addr, addrlen) et l'adresse et le port seront dans la struct sockaddr *addr ?

    il faudra faire dans mon programme initialiser 2 sockets et apres l'appel systeme accept je devrais faire un appel systeme connect pour pouvoir répondre à mon client_cosmoff

    c'est ca ?

    Merci d'avance pour votre aide

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Tu communiques avec un client en envoyant un message via send.
    Que le message soit une réponse, requête, notification, ... ne dépend que du contexte ou du type de message.

    Une fois un client accepté tu as sa structure sockaddr qui contient son IP et port.
    Pour avoir l'IP en string lisible, utilise inet_ntop par exemple.

    il faudra faire dans mon programme initialiser 2 sockets et apres l'appel systeme accept je devrais faire un appel systeme connect pour pouvoir répondre à mon client_cosmoff
    Pas du tout puisque accept retourne un socket, et tu es sensé utiliser ce socket pour discuter avec ce client.
    1 client a 1 socket, qu'il connecte à un serveur.
    1 serveur a 1 socket pour accepter les clients, puis 1 socket par client, via chaque appel à accept réussi.

    Premiers-pas en tant que serveur
    Envoi et réception depuis un serveur
    Un premier mini-serveur
    Pour le reste, voir https://bousk.developpez.com/
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 274
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par Bousk Voir le message

    Pas du tout puisque accept retourne un socket, et tu es sensé utiliser ce socket pour discuter avec ce client.
    https://bousk.developpez.com/
    donc avec la socket retourné par accept, je peux lire les message envoyés par le client et avec cette meme socket je peux également lui écrire ?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Oui et oui.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 274
    Points : 56
    Points
    56
    Par défaut
    ok merci beaucoup pour tes réponses.

    Et ca marche aussi pour le client ? Apres un syscall connect(socket,...) la socket me permet d'envoyer des messages au serveur mais aussi de les lire ?

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Un socket TCP c'est une connexion directe, un câble entre les 2 parties. Donc à nouveau oui et oui...
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 04/08/2015, 14h59
  2. Réponses: 3
    Dernier message: 28/01/2007, 19h25
  3. [Forum][Conseil] Comment avoir un forum sur mon site ?
    Par jessi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 02/11/2006, 21h07
  4. [Club Internet] comment mettre un .htaccess sur mon site ?
    Par cyberdevelopment dans le forum Autres hébergeurs
    Réponses: 8
    Dernier message: 27/07/2006, 17h49
  5. [MySQL] comment je peux faire un service web sur mon serveur ?
    Par jadoo dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/05/2006, 14h48

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