数据传输协议的包头部分为什么不需要考虑byte order?
Irlyue opened this issue · comments
Irlyue commented
您好,我最近在学习这款开源框架的源代码。有个疑问是为什么数据传输协议里的包头部分可以直接拷贝内存而不需要转换字节序?
服务端代码:ChatSession::onLoad()
//取包头信息
chat_msg_header header;
memcpy(&header, pBuffer->peek(), sizeof(chat_msg_header));
客户端代码:IUSocket::Login()
msg header;
memset(&header, 0, sizeof(header));
header.compressflag = 1;
header.originsize = outbuf.length();
header.compresssize = strDestBuf.length();
//std::string strX;
//if (!::UncompressBuf(strDestBuf, strX, header.originsize))
//{
// int x = 0;
//}
std::string strSendBuf;
strSendBuf.append((const char*)&header, sizeof(header));
strSendBuf.append(strDestBuf);
张小方 commented
目前服务器和pc端用的是小端序列,所以没做转换,安卓端用的是大端,安卓端自己做了转换。