Problem mit recv()



  • Ich versuch grad ein kleines Netzwerkspiel zu machen und muss dazu die Koordinaten übergeben. Die Verbindung steht und senden kann ich auch:

    void send_left(char* x)
    {
    	rc = send(gameSocket, x, 5, 0);
    	if(rc == SOCKET_ERROR)
    	{
    		local_l = TTF_RenderText_Solid(font,"Fehler beim Senden von x",textColor);
    	}
    	else
    	{
    		local_l = TTF_RenderText_Solid(font,x,textColor);
    	}
    }
    

    Aber sobald ich die recv() Funktion einbau kann ich nichts mehr senden, ich glaub da geht meine Verbindung flöten 🙄

    int get_remote_left()
    {
    	char* r_x = 0;
    	rc = recv(gameSocket, r_x, 5, 0);
    	if(rc == SOCKET_ERROR)
    	{
    		remote_l = TTF_RenderText_Solid(font,"Fehler beim Empfangen von x",textColor);
    	}
    	else
    	{
    		remote_l = TTF_RenderText_Solid(font,r_x,textColor);
    	}
    	return (int)r_x;
    }
    

    Aus der main():

    // In Char Konvertieren
    		itoa(net_x, net_left, 10);
    
    		// Sende x-Koordinate
    		send_left(net_left);
    
    		// Empfange x-Koordinate
    		remote_left = get_remote_left();
    


  • dein pointer muss schon auf irgendeinen buffer zeigen, wo soll recv die daten denn sonst reinstopfen.

    char* r_x = 0;
    	rc = recv(gameSocket, r_x, 5, 0);
    


  • Ich weiß ja nicht wie klein dein Spiel jetzt wirklich ist, ansonsten kannst du dir ja mal Netzwerk-API RakNet anschauen



  • oh, ist eigentlich logisch 😃
    hat funktioniert.
    bietet die rak net besondere vorteile?


Anmelden zum Antworten