|Probably a problem of structure packing / data alignment. With C/C++ structures and unions, member data are aligned by inserting padding bytes. How many bytes are inserted depends on the used compiler options where the default settings depend on the platform (CPU type and bit width).
When sending such structures via network to other systems, you must ensure that sender and receiver use the same packing / alignment. This is usally done by setting the alignment to one byte.
With Visual Studio use the
#pragma pack[^] directive:
#pragma pack(push, 1)
unsigned char Buffer[LIVEUNISIZE];
#pragma pack(pop)Note that this might fail with existing (old) versions of your server and client. If so and you have to support old versions, you must check which alignment has been used and select that for packing.
This forum is for managed C++ / CLI but your post would fit in the C++ / MFC forum.