Windows ソケットで構造体を送信したい。TCPプロトコルを使用しています。
たとえば、私はこの構造を持っています:
typedef struct headerLobby
{
unsigned nbGames;
} head;
私は自分の構造を送ります:
char buff[DEFAULT_BUFFER_LENGTH]; //DEFAULT_BUFFER_LENGTH = 512
headerLobby header;
header.nbGames = 1;
memcpy(buff, &header, sizeof(headerLobby));
send(ClientSocket, buff, sizeof(headerLobby, 0);
私はデータを受け取ります:
headerLobby header;
char recvbuf[DEFAULT_BUFFER_LENGTH];
memset(recvbuf, 0, DEFAULT_BUFFER_LENGTH);
int iResult = recv(ConnectSocket, recvbuf, DEFAULT_BUFFER_LENGTH, 0);
memcpy(&header,recvbuf, sizeof(headerLobby));
しかし、header.nbrGames を出力すると、あまり価値がありません。
クライアントとサーバーはどちらも Windows 8 64 ビットで、プロセッサは Intel x64 です。コードの何が問題なのかわかりません。