Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [Résolu][UDP/Internet] Nécessité d'ouverture du port côté client  (Lu 2706 fois)

0 Membres et 1 Invité sur ce sujet

Erwsaym

  • Newbie
  • *
  • Messages: 27
    • Voir le profil
    • ErnSoft.com
    • E-mail
EDIT : Ma résolution de problème à avancé je reformule ma question ci bas

Bonjour !
J'utilise actuellement les sockets UDP dans la communication de coordonnées, et je rencontre un problème.
Pour tester, j'ai deux applications, une serveur envoyant en permanence un paquet, et un client recevant ce paquet, en local tout fonctionne sans soucis le serveur envoie le client reçois et affiche le reçus, cepedant par Internet je ne reçois rien, le client attend.  J'utilise deux pc avec deux connexion internet différentes, côté serveur le port utiliser est bien ouvert en UDP.
J'utilise le port 35566.

Note : Une connexion en TCP fonctionne très bien que ce soit en local ou que se soit par internet.

Voici le code de mes deux applications de test :
Serveur :
/* Includes et namespaces */
int main()
{
    UdpSocket socket; //Socket UDP
    IpAddress ip = IP_CLIENT; //IP Client
    unsigned short port = 35566; //Port utilisé <OUVERT SUR LE ROUTEUR>

    Packet paquet;
    string mot("Bonjour");
    paq << mot;

    while(1)
    {
        socket.send(paquet,ip,port); //Envoie
        cout  << "Envoie : " << mot << endl;
    }

    return EXIT_SUCCESS;
}

Client :
/* Includes et namespaces */
int main()
{
    UdpSocket socket; //Socket UDP
    IpAddress ip = "IP_SERVEUR"; //IP du serveur
    unsigned short port = 35566; //Port

    socket.bind(35566);

    Packet paquet;
    string mot;

    while(1)
    {
        paquet.clear();

        if(socket.receive(paquet,ip,port) == sf::Socket::Done) //Reçus
        {
          paquet >> mot;
          cout << "Recus : " <<  mot << endl; //Affichage du reçus <Normalement "Bonjour">
        }

    }

    return EXIT_SUCCESS;
}

Un grand merci pour vos réponses !
Bonne soirée

EDIT :
Après essais et aide, j'ai eu l'occasion d'ouvrir les ports utiliser côter client, ça fonctionne. Apparament mon code serais plus un code client / client .
Citer
( le client ne se connecte pas au serveur, "ton serveur" envoie le paquet à l'adresse d' un client et si le port du client n'est pas ouvert, il ne le passera pas)

Ma question serait plus du genre : Aurait il un moyen moyen de communiquer sans ouvrir le port côter client ?
« Modifié: Juillet 15, 2013, 11:31:02 pm par Erwsaym »
- ♪ -

Erwsaym

  • Newbie
  • *
  • Messages: 27
    • Voir le profil
    • ErnSoft.com
    • E-mail
[UDP/Internet] Nécessité d'ouverture du port côté client
« Réponse #1 le: Juillet 15, 2013, 11:30:44 pm »
J'ai résolu mon problème !

Pour les personnes dans le même cas que moi voilà :

J'utilise essentiellement la communication UDP dans un sens Serveur -> Client, en fait il faut au moins que le client envoie une fois au serveur pour ""liée"" la connexion je dirais et une fois fait, tout fonctionne.

Bonne soirée ;)
- ♪ -