Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Sujets - JulienEragon

Pages: [1]
1
Réseau / Récupérer l'ip d'un client dans un selector.
« le: Juin 03, 2012, 09:19:13 pm »
Bonjour  :)

Je souhaite avoir l'ip du client connecté lorsque j'utilise un SelectorTCP. Voici le code, tout simple :

while (true)
{
       unsigned int NbSockets = Selector.Wait();

        for (unsigned int i = 0; i < NbSockets; ++i) {

                SocketTCPPerso Socket = Selector.GetSocketReady(i);

                sf::IPAddress Address;
                if (Socket == Listener) {

                        sf::SocketTCP Client;
                        Listener.Accept(Client, &Address);
                        std::cout << "Server " << Address << " connected." << std::endl; // affiche la bonne IP

                        Selector.Add(Client);
                }
                else {
                        sf::Packet Packet;
                        if (Socket.Receive(Packet) == sf::Socket::Done) {

                                std::string operation;
                                Packet >> operation;

                                std::cout << "ip : " << Address << std::endl; // affiche 255.255.255.255

                        }
                        else {
                                Selector.Remove(Socket.socketTCP);
                        }
                }
        }
}

Comme vous pouvez le voir, je veux avoir l'ip du client là où on reçoit et traite le Packet. Ce que je ne comprend pas c'est que l'ip affichée est la bonne un peu plus haut, mais pas à l'endroit où je veux.

Comment faire ?

Merci d'avance  :)

Pages: [1]