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 :

Connexion TCP entre 2 serveurs


Sujet :

Réseau C

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 57
    Points : 32
    Points
    32
    Par défaut Connexion TCP entre 2 serveurs
    bonjour,
    j'ai besoin de vos conseils sur ce petit problème pour que je le fasse proprement.
    je dois defenir une connexion tcp entre 2 serveurs serveur1 et serveur2
    en serveur1 je cree un thread qui s'occupe de cette connexion et je définie alors 2 fifo,une pour l'emission où le thread lire pour faire de send(), l'autre pour la reception où le thread met les donneés apres un recv().
    - alors je connais pas beaucoup de chose sur select mais est ce qu'elle peut me servir
    - comment je fais le controle d'erreur sur send() et recv() non bloquante
    -si j'avais plusieurs message reçus comment faire lire tout ces messages et le mettre dans le fifo

  2. #2
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Relis toi avant de poster, ton message est difficilement compréhensible.

    Ensuite, ce que je peux te dire c'est que :
    - si tu décides d'utiliser des fonctions non bloquantes, alors pas besoin de select
    - si tu utilise un select, alors pas besoin de fonctions non bloquantes

    Enfin, on teste le résultat d'une fonction non bloquante avec son retour (lire les man pour plus de détails). Vérifie si par non bloquant, tu n'entends pas plutôt asynchrone.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 57
    Points : 32
    Points
    32
    Par défaut
    oui ta raison. j'étais impatient j'ai commencé de voir le man et je trouve de reponse à mes questions, mais pour ce cas est il mieux d'utiliser select ou socket non bloquante

  4. #4
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Perso, à choisir, j'aime bien select. Mais c'est totalement personnel.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 57
    Points : 32
    Points
    32
    Par défaut
    une autre question stp
    si j'ai un client qui a envoyé 3 messages par exemple cad send() 3 fois alors sur le serveur comment faire pour recuperer tout les messages

  6. #6
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Tes messages ont-ils des tailles fixes ou variables ?

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 57
    Points : 32
    Points
    32
    Par défaut
    leurs taille est variable

  8. #8
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    L'endroit ou est indiqué la taille dans la trame est donc constant.

    Par exemple, si ce sont les 2 premiers octets, tu implémentes une sorte de machine à état, qui lit ces deux premiers octets, qui lit ensuite le reste. Ainsi de suite (3 fois dans ton exemple).

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 57
    Points : 32
    Points
    32
    Par défaut
    franchement j'ai pas bien compris est ce que tu peux mieux expliquer

  10. #10
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    C'est un exemple, bien sûr.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    tant qu'il faut continuer faire
      select()
      si test retour select nok faire
        on arrete
      sinon
        si il faut lire l'entete faire
          read(buffer, 2)
        sinon
          read(buffer + 2, *(u16 *)buffer)
        fsi
      fsi
    fin tant que

Discussions similaires

  1. [AJAX] ajax connexion entre deux serveurs
    Par dede6435 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/12/2007, 21h20
  2. probleme de connexion entre 2 serveures SQL 2005
    Par SILO dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 27/04/2007, 15h46
  3. Réponses: 1
    Dernier message: 23/01/2007, 11h06
  4. Deux connexions TCP entre un serveur et un client ?
    Par innosang dans le forum Développement
    Réponses: 4
    Dernier message: 18/12/2006, 00h33
  5. Réponses: 1
    Dernier message: 17/11/2006, 23h21

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