Probleme de connection TCP :/ [Windows] - C++ - Programmation
Marsh Posté le 20-08-2003 à 12:54:34
- remplace ton :
sock_in.sin_addr.s_addr = INADDR_ANY; //inet_addr(IG_ip_adress);
par :
sock_in.sin_addr.S_un.S_addr = inet_addr(IG_ip_adress);
- il faut le htons() :
sock_in.sin_port = htons(adr_port );
(http://msdn.microsoft.com/library/en-us/winsock/winsock/htons_2.asp)
- essaye sans le bind(). normalement il est utile seulement dans le code qui écoute.
- prend l'habitude de tester chaque valeur de retour, et d'appeler WSAGetLastError() après chaque echec d'une fonction socket, ca te donnera direct la raison de cet échec.
Marsh Posté le 20-08-2003 à 11:27:41
Fichier CNet_comm.cpp
le .h :
J'essai de me connecter via TCP a un autre ordi (rezo local de 2 pc). ni l'1 ni l'autre pc n'arrive a se connecter (la fonction en gras "connect" echoue tout le tps . Or le protocol UDP marche ! no pb mais j'arrive pas a etablir la connexion sur chacun des 2 postes en TCP. J'vois pas pkoi.
Je pense que c ma fonction htons() qui merde car si je l'utilise comme il faut d'apres la doc MSDN, la variable sock_in a pour num de port un gros chiffre qui n'a rien avoir. Pour que le port soit bien renseigne ds la structure, je dois faire une affectation directe sans passer par la fonction htons. Ce passage la m'est douteux (c peut etre ici que ca merde )
Je suis sous W98, VC++6
Message édité par Giz le 20-08-2003 à 11:53:32