Ok, donc lorsqu'un client sera connecté, je crée un nouveau QTcpSocket *, et de là, est-ce que je peux avoir mon IP ?
Je viens de tester de la manière suivante :
1 2 3 4 5
| void test::newClientConnected()
{
QTcpSocket *newClient = server->nextPendingConnection();
txtLog->append("Nouveau client connecté : " + newClient->localAddress().toString())
} |
Cette fois, je me retrouve avec mon adresse localhost 127.0.0.1.
Dans
bool QTcpServer::listen ( const QHostAddress & address = QHostAddress::Any, quint16 port = 0 )
le premier paramètre est l'adresse d'une de MES interfaces, ou une adresse d'une interface d'un autre ordinateur ?
si c'est bien d'une de mes interfaces (ce que je pense), cela veut dire que je dois au préalable faire un ipconfig pour savoir quelle est l'IP qui m'intéresse ? Y'a vraiment aucun moyen direct de savoir quelle est mon IP vue de l'exterieur (mais de mon réseau local). Il doit bien y avoir une fonction systeme ou un truc dans le genre ?
Autre question pendant que j'y suis : Admettons que je veuille filtrer les IP des ordis qui se connectent à mon serveur, comment je m'y prends ? est-ce que je dois accepter la connexion, creer le QTcpSocket et regarder son PeerAddress() pour ensuite savoir si je le jette ?
Partager