SOCKET to_server_socket = 0; WSADATA wsaData; // faut toujours le fair en utilisant les sockets if( int err = WSAStartup( 0x0101, &wsaData ) ) { char WSAStartError[1024]; sprintf(WSAStartError,"WSAStartup failed... Error: %s", err); MessageBox(MainHandle, WSAStartError, "Erreur", MB_ICONERROR | MB_OK); return 0; } struct sockaddr_in serverSockAddr; // addresse de la socket struct hostent * serverHostEnt; // description du host serveur long hostAddr; // addr du serveur memset( &serverSockAddr, 0,sizeof( serverSockAddr ) ); // initialise a zero serverSockAddr // Converti l'adresse ip en entier long hostAddr = inet_addr( 127.0.0.1 ); if( ( long ) hostAddr != ( long ) -1 ) memcpy( &serverSockAddr.sin_addr, &hostAddr, sizeof( hostAddr ) ); else // si on a donne un nom { serverHostEnt = gethostbyname( 127.0.0.1 ); if ( serverHostEnt == NULL ) { MessageBox(MainHandle, "Impossible d'utiliser le port 25 du serveur...\nVérifiez que vous êtes " "bien connecté à internet ou bien changez de serveur", "Erreur", MB_ICONERROR | MB_OK); return 0; } memcpy( &serverSockAddr.sin_addr, serverHostEnt->h_addr, serverHostEnt->h_length ); } serverSockAddr.sin_port = htons( 6667 ); // host to network port serverSockAddr.sin_family = AF_INET; // AF_*** : INET=internet // Creation de la socket to_server_socket = socket( AF_INET, SOCK_STREAM, 0 ); if( to_server_socket < 0) { MessageBox(MainHandle, "Echec creation socket client", "Erreur", MB_ICONERROR | MB_OK); return 0; } // Requete de connexion if( connect( to_server_socket, ( struct sockaddr * ) &serverSockAddr, sizeof( serverSockAddr ) ) < 0 ) { MessageBox(MainHandle, "Echec demande de connection", "Erreur", MB_ICONERROR | MB_OK); return 0; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question