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?