Guten Abend zusammen
Es dreht sich um folgendes: Ich bastel gerade an einem kleinen Multiplayer-Game mit Hilfe der SDL bzw SDL_Net.
Jetzt habe ich eine Funktion geschrieben, mit der ich einen String zu einem Clienten schicken kann:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
|
void send_string (char *pData, Uint32 target_host, Uint16 target_port, UDPsocket *pSocket)
{
UDPpacket *pMemory; pMemory = SDLNet_AllocPacket(512);
pMemory->data = pData;
pMemory->address.host = target_host;
pMemory->address.port = target_port;
pMemory->len = strlen((char*)pMemory->data)+1;
SDLNet_UDP_Send(*pSocket, -1, pMemory);
}
|
Der Aufruf wäre dann mit:
|
C-/C++-Quelltext
|
1
|
send_string("Hallo", Spieler1.chIP, Spieler1.chPort, &sock_server);
|
Das funktioniert auch einwand frei
Nun möchte ich aber ein Array oder evtl eine ganze Struktur verschicken und im Client dementsprechen wieder in ein Array/Struktur ablegen.
Allerdings bin ich hier mit meinem Latein am Ende.
Von der Idee her müsste ich ja eig den Pointer auf das erste Element des Arrays an die Funktion geben und die bastelt dann ein Paket, welches ich verschicken kann. Im Client müsste dann das Paket an die erste Stelle des Zielarrays geschrieben werden, da die Array-Elemente ja im Speicher direkt hintereinander liegen. So viel zur Theorie ;-)
Für jede Hilfe bin ich dankbar
LG Matze
P.S. Natürlich hab ich auch schon google befragt