Envoyer des instances de classes via TCP
Bonjour,
voici les deux prototypes :
Code:
1 2
| int SDLNet_TCP_Send(TCPsocket sock, void *data, int len);
int SDLNet_TCP_Recv(TCPsocket sock, void *data, int maxlen); |
Je possède une classe "Personnage", dont j'en fais une instance, et que je souhaite envoyer au serveur.
Code:
1 2
| Personnage p();
SDLNet_TCP_Send( sock, &p, sizeof( Personnage ); |
Jusqu'ici, aucun soucis, mais c'est lors de la réception au serveur, du personnage que celui-ci me fait une erreur de segmentation.
Code:
1 2
| Personnage p();
SDLNet_TCP_Recv( sock, &p, sizeof( Personnage ); |
voilà, et là une erreur de segmentation.
La classe Personnage possède un constructeur par copie, ainsi qu'une surcharge de l'opérateur d'affectation.
Je pensais au début qu'on pouvait pas envoyer d'instance via TCP, mais j'ai pourtant essayer avec des entiers ( en remplacant les types Personnage par des int ) et j'ai toujours des erreurs de segmentation, donc je sais pas comment faire, si vous pouvez m'aider.