void TcpConnection::sendMessage(uint16 opcode, NetworkMessage& message) { BasicStreamPtr streamPtr(new BasicStream()); streamPtr->write((int32)0); streamPtr->write(opcode); // ... // TODO: 包压缩和加密标志预留 streamPtr->resize(NetworkMessage::kHeaderLength + message.byteSize()); message.encode((byte*)streamPtr->b.begin() + NetworkMessage::kHeaderLength, message.byteSize()); streamPtr->rewriteSize(streamPtr->b.size(), streamPtr->b.begin()); sendMessage(streamPtr); }