sdl_net check_socket mit client



  • ich hab grad ein sdl_net client und server erstellt.
    über check_socket prüf ich netzaktivität. beim server klappts ganz gut, aber der client läuft nich, was hab ich falsch gemacht

    #include <SDL.h>
    #include <SDL/SDL_net.h>
    #include <stdlib.h>
    #include <stdio.h>
    #ifdef _WIN32
    #undef main
    #endif
    int main (void)
    { 
    	IPaddress address;
    	TCPsocket sock_server;
    	SDLNet_SocketSet set;
    
    	if(SDL_Init (0) ==-1)
    	{
    		printf ("SDL_Init: %s\n", SDL_GetError ());
    		exit (1);
    	}
    	if(SDLNet_Init () ==-1)
    	{
    		printf ("SDLNet_Init: %s\n", SDLNet_GetError ());
    		exit(1);
    	}
    	if (SDLNet_ResolveHost (&address, "213.221.194.72", 10000) == -1)
    	{
    		printf ("SDLNet_ResolveHost: %s\n", SDLNet_GetError ());
    		SDLNet_Quit ();
    		exit (1);
    	}
    	sock_server = SDLNet_TCP_Open (&address);
    	if (!sock_server)
    	{
    		printf ("SDLNet_TCP_Open: %s\n", SDLNet_GetError ());
    		SDLNet_Quit ();
    		exit (1);
    	}
    	set = SDLNet_AllocSocketSet (1);if(!set){exit(0);}
    	printf ("Init finished. Connected to server. Send Data after 5 Seconds...\n");
    	if(SDLNet_TCP_AddSocket (set, sock_server)!=1){exit(0);}
    	/*SDL_Delay (5000);
    	*/
    
    	char data[128];
    	while(true){
    		printf("%ics\n",SDLNet_CheckSockets (set, 0));
    		if(SDLNet_SocketReady(sock_server)||true){
    			SDLNet_TCP_Send (sock_server, "pong\n", 128);
    			SDLNet_TCP_Recv (sock_server, &data, 128);
    			printf("%s\n",data);
    		}
    		printf("lol\n");
    
    	}
    	SDLNet_TCP_Close (sock_server);
    	return 0;
    }
    

Anmelden zum Antworten