Giz | Fichier CNet_comm.cpp
Code :
- char IG_ip_adress[16];
- int size_sock_in = sizeof(sock_in);
- //Allowing Windows Sockets initiation
- WSAStartup (MAKEWORD(2,0),&wsa);
- //Reading conf.ini file
- adr_port = atol (ReadIniConfFile("NETWORK", "IG_port" ));
- strcpy(IG_ip_adress, ReadIniConfFile("NETWORK", "SS_ip" ));
- //Socket initialisation
- sock_in.sin_family = AF_INET;
- sock_in.sin_addr.s_addr = INADDR_ANY;//inet_addr(IG_ip_adress);
- sock_in.sin_port = adr_port; /*adr_port vaut 139, je pense que cette instruction est fausse meme si ds le debuggeur sock_in.sin_port vaut 139 non ? */
- if (!tcp) {
- //Using UDP protocol
- sock = socket(AF_INET,SOCK_DGRAM, IPPROTO_UDP);
- bind(sock, (SOCKADDR*)&sock_in, sizeof(sock_in));
- }
- else {
- //Using TCP protocol
- sock = socket(AF_INET,SOCK_STREAM, IPPROTO_TCP);
- bind(sock, (SOCKADDR*)&sock_in, sizeof(sock_in));
- //TCP : connected mode
- if(connect(sock,(SOCKADDR*)&sock_in,sizeof(sock_in)))
- printf("TCP connection failed !\n" );
- }
|
le .h :
Code :
- class CNet_comm : public CFile
- {
- private :
- WSADATA wsa; /* Store Windows Sockets initialization information */
- SOCKET sock; /* Container of the socket */
- SOCKADDR_IN sock_in; /* Contain which adress to connect the socket */
- long adr_port; /* Adressee port */
- char ip[16]; /* Adressee ip adress */
|
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
|