做了一个项目,客户端是cocos2dx,服务器是c++,在开发过程中遇到一个小坑,得以记录一下。 调试客户端与服务器c++通讯的时候,发现xcode编译的结构体sizeof大小跟vs下编译的不一样,从而导致通讯协议大小不一致。 经过排查,原来是不同编译器下,struct占用空间对齐导致的。 于是在客户端定义结构体地方与服务器定义结构体地方统一加上#pragma pack(1),搞定。