1. #1
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    octobre 2002
    Messages
    1 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2002
    Messages : 1 403
    Points : 1 949
    Points
    1 949

    Par défaut UDP Client Serveur sur serveur local.

    Bonjour à tous,

    J'ai un problème avec deux applications (client, serveur) qui utilisent UDP pour communiquer entre elles. Le client envoie message court au serveur. Le serveur traite le message mais n'y répond pas. Le client n'attend pas de réponse.
    Le client et le serveur sont le même PC (Window Serveur).

    Sur mon poste de développement, ça fonctionne. Sur un serveur, ça fonctionne aussi. Mais sur un autre serveur, le message n'est pas reçu (pas d'erreur sur le client) par le serveur si j'utilise l'adresse IP externe du serveur mais si j'utilise l'adresse IP locale (127.0.0.1), le message est bien reçu.

    L'application client est obligée d'utiliser l' adresse IP Externe (fichier de configuration utilisé par d'autre application).

    Résumé du cas :
    - Client et serveur sur le même PC
    - OK si j'utilise l'adresse IP 127.0.0.1
    - Pas OK si j'utilise l'adresse IP externe (Exemple 172.147.160.70)

    Ma question est : Quelle est la raison de ce fonctionnement et comment puis-je y remédier (pour que je puisse utiliser l'adresse IP externe pour connecter mon client au serveur) ?

    P.S: Le pare-feu est désactivé.
    Bien le bonjour chez vous
    Jowo

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2010
    Messages : 69
    Points : 54
    Points
    54

    Par défaut

    Hello =)

    Peut-être que l'application n'écoute pas sur toutes les adresses IP du serveur mais uniquement la loopback ? Problème de droits éventuellement (enfin je suppose que tu utilises un port d'écoute au dessus de 1023 ?) ou le port d'écoute est déjà utilisé, faut voir les logs sur la machine

  3. #3
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    octobre 2002
    Messages
    1 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2002
    Messages : 1 403
    Points : 1 949
    Points
    1 949

    Par défaut

    Bonjour et merci pour ta réponse Spellbinder,

    Peut-être que l'application n'écoute pas sur toutes les adresses IP du serveur mais uniquement la loopback ?
    Si mon application serveur écoute sur toutes les adresses. Disons que je le suppose vu que l'application fonctionne sur mon PC et sur un serveur S1.
    Mais sur un serveur S2, l'application serveur ne répond que si j'envoie mon message sur l'adresse 127.0.0.1.

    Problème de droits éventuellement (enfin je suppose que tu utilises un port d'écoute au dessus de 1023 ?) ou le port d'écoute est déjà utilisé, faut voir les logs sur la machine
    J'utilise un port d'écoute sur 3364. Si le port d'écoute est déjà occupé, l'application génère une erreur.

    Donc je vais encore chercher et je suis à l'écoute de vos idées, de pistes de recherche.
    Bien le bonjour chez vous
    Jowo

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2010
    Messages : 69
    Points : 54
    Points
    54

    Par défaut

    Mais sur un serveur S2, l'application serveur ne répond que si j'envoie mon message sur l'adresse 127.0.0.1.
    Justement, je me dis que sur ce serveur, l'application n'écoute pas alors sur toutes les adresses IP (ou alors il y a un firewall qui bloque mais tu dis qu'il est désactivé), car tu ne peux communiquer avec l'application qu'en local sur le serveur, pas depuis une autre machine comme ton PC, je me trompe ?

    C'est un serveur linux ? Que donne un ?

  5. #5
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    octobre 2002
    Messages
    1 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2002
    Messages : 1 403
    Points : 1 949
    Points
    1 949

    Par défaut

    Le système travaille sous Windows

    la commande "netstat -an -p UDP" donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Proto  Adresse locale  Adresse distante
    UDP    0.0.0.0:3364    *:*
    je n'affiche pas les autres lignes.
    Bien le bonjour chez vous
    Jowo

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2010
    Messages : 69
    Points : 54
    Points
    54

    Par défaut

    Ici, le port est 3664 et non 3364, est-ce juste ou quelques posts plus haut c'était une erreur ?

  7. #7
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    octobre 2002
    Messages
    1 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2002
    Messages : 1 403
    Points : 1 949
    Points
    1 949

    Par défaut

    non c'est bien le port 3364 qui est correct.

    Nom : 2018-02-19 15_24_26-UdpServer.png
Affichages : 97
Taille : 9,0 Ko
    Bien le bonjour chez vous
    Jowo

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2010
    Messages : 69
    Points : 54
    Points
    54

    Par défaut

    Tiens ton post disait 3664 (dans le résultat de la commande netstat), étrange

    Bon, sinon, c'est peut-être stupide mais tu arrives bien à pinguer l'IP externe ? S1 marche donc je ne fais pas référence à celui-ci. Que donne ipconfig /all ?
    Y a-t-il des messages particuliers dans les logs du serveur ? Dans l'observateur d'événements

  9. #9
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    octobre 2002
    Messages
    1 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2002
    Messages : 1 403
    Points : 1 949
    Points
    1 949

    Par défaut

    Oui le ping fonctionne avec l'adresse IP externe 172.25.0.97


    IPCONFIG /ALL
    ********************************************
    Configuration IP de Windows

    Nom de l'hôte . . . . . . . . . . : HOSTNAME
    Suffixe DNS principal . . . . . . : JOWO.CH
    Type de noeud. . . . . . . . . . : Hybride
    Routage IP activ‚ . . . . . . . . : Non
    Proxy WINS activ‚ . . . . . . . . : Non
    Liste de recherche du suffixe DNS.: JOWO.CH

    Carte Ethernet Ethernet0 :

    Suffixe DNS propre … la connexion. . . :
    Description. . . . . . . . . . . . . . : Connexion réseau Intel(R) 82574L Gigabit
    Adresse physique . . . . . . . . . . . : 00-50-56-A4-53-77
    DHCP activé. . . . . . . . . . . . . . : Non
    Configuration automatique activée. . . : Oui
    Adresse IPv4. . . . . . . . . . . . . .: 172.25.0.97(préféré)
    Masque de sous-réseau. . . . . . . . . : 255.255.0.0
    Passerelle par défaut. . . . . . . . . : 172.25.0.15
    Serveurs DNS. . . . . . . . . . . . . : 172.25.0.91
    172.25.0.92
    NetBIOS sur Tcpip. . . . . . . . . . . : Activé

    Carte Tunnel Reusable ISATAP Interface {C4EC7BF8-66FF-40F1-1964-EBF5A1F2192B} :

    Statut du média. . . . . . . . . . . . : Média déconnecté
    Suffixe DNS propre à la connexion. . . :
    Description. . . . . . . . . . . . . . : Carte Microsoft ISATAP
    Adresse physique . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
    DHCP activé. . . . . . . . . . . . . . : Non
    Configuration automatique activée. . . : Oui
    ********************************************


    Par contre dans les logs de serveur, je ne sais pas où regarder. De même pour l'observateur d'événements.

    P.S: 3664 était une erreur de frappe.
    Bien le bonjour chez vous
    Jowo

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2010
    Messages : 69
    Points : 54
    Points
    54

    Par défaut

    Oui t'inquiète j'avais compris pour la faute de frappe

    Dans démarrer, tape observateur d'événements, tu devrais le voir apparaître dès que tu tapes les premiers mots. Ensuite dans "Logs windows", regarde un peu dans "Application" et "Système", si tu as des messages d'erreur aux alentours du lancement de l'application et des essais

  11. #11
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    octobre 2002
    Messages
    1 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2002
    Messages : 1 403
    Points : 1 949
    Points
    1 949

    Par défaut

    Rien à signaler au niveau des observateurs d'événements.
    Bien le bonjour chez vous
    Jowo

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2010
    Messages : 69
    Points : 54
    Points
    54

    Par défaut

    D'accord, et si tu changes le port sur S2, par exemple port 5001, ça change quelque chose ?

  13. #13
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    octobre 2002
    Messages
    1 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2002
    Messages : 1 403
    Points : 1 949
    Points
    1 949

    Par défaut

    J'ai essayé avec le port 5001 et 10001. Rien ne change.

    Toujours le même comportement sur S2.
    • Soit pas de réception si le client se connecte avec l'adresse IP 172.25.0.97
    • Réception si le client utilise l'adresse IP 127.0.0.1 pour se connecter
    Bien le bonjour chez vous
    Jowo

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2010
    Messages : 69
    Points : 54
    Points
    54

    Par défaut

    Et le client et le serveur sont lancés sur la même machine, enfin sur le même serveur.. Quelles sont les différences entre S1 et S2 ? OS, config, .. Ce sera peut-être plus simple pour résoudre le problème

  15. #15
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    octobre 2002
    Messages
    1 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2002
    Messages : 1 403
    Points : 1 949
    Points
    1 949

    Par défaut

    Voici les infos demandées:

    Pour S1
    Nom : S1.png
Affichages : 72
Taille : 5,4 Ko

    Pour S2
    Nom : S2.png
Affichages : 72
Taille : 32,4 Ko

    J'ai testé l'application sur un serveur Windows Server 2012R2 (Serveur virtuel).
    Elle fonctionne.
    Bien le bonjour chez vous
    Jowo

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2010
    Messages : 69
    Points : 54
    Points
    54

    Par défaut

    Et comme ca, si tu réinstallais S2 from scratch, ca change quelque chose ?

  17. #17
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    octobre 2002
    Messages
    1 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2002
    Messages : 1 403
    Points : 1 949
    Points
    1 949

    Par défaut

    S2 ne peut pas être arrêté et encore moins réinstallé. Il a déjà été redémarré.
    Bien le bonjour chez vous
    Jowo

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2010
    Messages : 69
    Points : 54
    Points
    54

    Par défaut

    Ok ^^

    Autre suggestion (je suis tenace xD) : peux-tu stp essayer ton appli en TCP cette fois (sur S2) ? Donc la partie serveur sur S2 écoute sur le port 3364 TCP et la partie client (toujours sur S2) va se connecter à l'IP externe de S2 port 3364 TCP

  19. #19
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    octobre 2002
    Messages
    1 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2002
    Messages : 1 403
    Points : 1 949
    Points
    1 949

    Par défaut

    J'ai modifié mes programmes de test (client et serveur) pour que le protocole TCP soit supporté.

    Avec TCP, les messages passent mais pas avec UDP.
    Bien le bonjour chez vous
    Jowo

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2010
    Messages : 69
    Points : 54
    Points
    54

    Par défaut

    Ok bon en tout cas on avance, ca fonctionne en TCP.

    Maintenant pourquoi ca ne marche pas en UDP.. Avec firewall désactivé en plus oO
    Et si tu lances ton application (soit server, client puis les 2) en mode admin pour voir ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/02/2011, 11h06
  2. requête mysql sur serveur wamp en local !
    Par sebalab dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 19/04/2007, 19h18
  3. [RESEAU] Authentification client linux sur serveur windows
    Par rvfranck dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 19/06/2006, 18h57
  4. Authentification client linux sur serveur windows
    Par rvfranck dans le forum Réseau
    Réponses: 4
    Dernier message: 19/06/2006, 07h27
  5. CORBA sur serveur web en local
    Par barberot dans le forum CORBA
    Réponses: 8
    Dernier message: 31/03/2004, 08h28

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