Problème de connexion de client (Socket) - C - Programmation
Marsh Posté le 12-05-2020 à 11:21:12
Le problème vient de adresse ip privé qui change avec la box. En la modifiant ça fonctionne! En revanche si je met "localhost" cela ne fonctionne pas
Marsh Posté le 12-05-2020 à 12:00:13
C'est ce que j'aurais proposé en 1er, l'@IP. Pour le localhost, c'est normal, ça désigne la machine d'où est exécuté le programme. Donc, si tu l'exécutes depuis ton PC, localhost est ton PC (127.0.0.1), pas ta box. Or, l'IP 127.0.0.1 est pas routable sur un LAN privé qui est en général en 192.168.x.y.
Marsh Posté le 23-05-2020 à 21:33:29
tu mets INADDR_ANY pour écouter sur toutes les interfaces. Si tu veux écouter sur une interface spécifique, tu mets l'adresse IP de l'interface. Si tu ne la connais pas parce qu'elle change tu peux la détecter en listant les interfaces. Voici un bout de code permettant de le faire :
sous linux :
Code :
|
result sous gdb online ( https://www.onlinegdb.com/ ) :
|
Sous windows, c'est un peu différent puisque ce n'est pas un système POSIX ( voir si ça marche sous win10 quand même ). Il faut utiliser la fonction GetAdaptersInfo : https://docs.microsoft.com/en-us/wi [...] aptersinfo
Marsh Posté le 12-05-2020 à 10:06:23
Salut à tous, j'ai fais un programme qui fonctionnait parfaitement pour établir une connexion client. J'ai changé de domicile donc de box et depuis le serveur créé accepte automatiquement et renvoie un socket = -1. Est ce que vous sauriez m'éclairer?
Merci!
Un bout de mon code serveur: