KaSeK: you are right that there is no standard way of packing classes in C++, however NetworkCommand is just a bunch of integers and there are no virtual functions on it. So the way all compilers pack it the same, and it doesn't include any pointers.
I really have a lot of experience doing thins like this and non-virtual classes without pointers never where a problem before.
Did you have real problems with this or did you change it as a preemptive measure?
As for the error firegl is getting it is just a disconnect, do you have a good internet connection or are you using a modem or some other slow type?
class NetworkCommand{
private:
int16 networkCommandType;
int16 unitId;
int16 commandTypeId;
int16 positionX;
int16 positionY;
int16 unitTypeId;
int16 targetId;
public:
NetworkCommand(){};
NetworkCommand(int networkCommandType, int unitId, int commandTypeId= -1, const Vec2i &pos= Vec2i(0), int unitTypeId= -1, int targetId= -1);
NetworkCommandType getNetworkCommandType() const {return static_cast<NetworkCommandType>(networkCommandType);}
int getUnitId() const {return unitId;}
int getCommandTypeId() const {return commandTypeId;}
Vec2i getPosition() const {return Vec2i(positionX, positionY);}
int getUnitTypeId() const {return unitTypeId;}
int getTargetId() const {return targetId;}