Bonsoir à tous,
je me suis fait un petit prog de test pour SDL_Net. J'ai regardé la doc, et un tuto vite fait et les premiers résultats sont bons.
J'ouvre une socket, ca marche bien, j'ai donc préparé la suite : l'envoi d'informations. Mais là, tout plante... bizarrement...
Ci-joint le code source complet :Où est l'erreur me direz-vous ? Et bien si j'enlève un des commentaires devant les définitions de variables au début du source, le programme se termine après une bonne initialisation (le OK est écrit, mais c'est tout) et rien ne sort au niveau des erreurs...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 #include <iostream> #include <SDL.h> #include <SDL_net.h> int main (int argc, char* argv[]) { // char* message_ip; // int longueur; IPaddress *add_ip; TCPsocket tcp_socket; if (SDL_Init (0) < 0) { std::cerr<<"Error while starting SDL : "<<SDL_GetError()<<std::endl; exit (-1); } if (SDLNet_Init () < 0) { std::cerr<<"Error : "<<SDLNet_GetError(); exit(-1); } std::cout<<"OK"<<std::endl; if ( SDLNet_ResolveHost(add_ip, "mindiell.free.fr", 80) < 0) { std::cerr<<"Error : "<<SDLNet_GetError(); exit(-1); } std::cout<<"Adresse IP : "<<add_ip->host<<std::endl; std::cout<<"Port : "<<add_ip->port<<std::endl; std::cout<<"Hote : "<<SDLNet_ResolveIP(add_ip)<<std::endl; tcp_socket = SDLNet_TCP_Open(add_ip); if (!tcp_socket) { std::cerr<<"Error : "<<SDLNet_GetError(); exit(-1); } std::cout<<"Socket ouverte"<<std::endl; SDLNet_TCP_Close(tcp_socket); std::cout<<"Socket fermée"<<std::endl; SDLNet_Quit(); SDL_Quit(); }
Si vous avez une idée, moi je sèche
Partager