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 :

erreur connect() pour la deuxieme connection TCP


Sujet :

Réseau C

Vue hybride

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 189
    Par défaut erreur connect() pour la deuxieme connection TCP
    Bonjour,

    grosse modo j'aimerais créer deux connections TCP entre un serveur et un client. La premiere connection étant initié par le client et la deuxieme initiée par le serveur.

    Plus en détail, dans mon application un serveur fait un accept(...&client....) et est donc en possession d'une struct sockaddr client remplie.

    J'aimerais maintenant faire en sorte que ce serveur se connecte vers le client dont les paramètres de connection sont connus grace à la struct sockaddr recue via le accept. Bien entendu le client de départ fera maintenant office de serveur.

    J'aimerais savoir si je peux utiliser directement la struct sockaddr client en changeant uniquement le port... je pense que non car en faisant celà le connect me donne une erreur. Mais je ne vois pas comment faire autrement.

    Si vous avez des idées elles sont les bienvenues. Merci davance

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    Je ne comprends pas l'intérets d'utiliser cela. Tu essaies d'utiliser 2 canaux dans un 1 canal logique, ce qui est impossible. C'est comme si tu essayais d'avoir ta chasse d'eau et ton robinet de douche en meme temps.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 189
    Par défaut
    bein en fait mon application est un serveur FTP. J'aimerais une connection TCP pour l'échange de commande (list, mkdir etc) et une connection pour le transfert de fichier ...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 189
    Par défaut
    voici un bout de code qui devrait permettre la connection du serveur vers le client (qui lui fait désormais office de serveur pour la deuxieme connection TCP) mais malheureusement j'ai une erreur du connect : Invalid argument. Pourtant j'affiche l'adresse ip de la structure que me renvoit le accept et tout correspond sauf bienentendu les ports...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    serv.sin_family = AF_INET;
    printf("%s\n", inet_ntoa((a->cl.ip->sin_addr))) ; 
    serv.sin_addr.s_addr = inet_addr(inet_ntoa((a->cl.ip->sin_addr))) ;	
    //serv.sin_addr.s_addr = htonl(INADDR_ANY) ;
    serv.sin_port = htons(5000) ;

  5. #5
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    Tu as crée un nouveau socket pour ta 2ème connexion ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 189
    Par défaut
    oui bien entendu.

    J'ai oublié de préciser que la deuxieme connection TCP se fait dans un thread à part dans le client et dans le serveur.

Discussions similaires

  1. Erreur ODBC pour se connecter à une base MySQL
    Par Invité dans le forum JDBC
    Réponses: 8
    Dernier message: 09/09/2012, 12h43
  2. erreur persistante pour se connecter à mysql
    Par abj8077 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 21/11/2010, 19h42
  3. Réponses: 2
    Dernier message: 30/05/2008, 11h56
  4. Chaîne de connection pour connexxion DSNLess
    Par LAGARDETTE dans le forum ASP
    Réponses: 3
    Dernier message: 04/03/2005, 16h42
  5. erreur Host not allowed to connect
    Par ziboux dans le forum Outils
    Réponses: 9
    Dernier message: 16/10/2003, 05h08

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