我将使用WinSock向服务器发送UDP数据包,需要以大端模式发送数据。在发送之前,我不确定如何转换结构体的字节顺序。
我有一个类似这样的结构体:
我有一个类似这样的结构体:
struct ConnectIn
{
std::int64_t ConnectionID = 0x41727101980;
std::int32_t Action = 0;
std::int32_t TransactionID;
ConnectIn(std::int32_t transactionID)
{
TransactionID = transactionID;
}
};
目前我正在这样发送:
ConnectIn msg(123);
int len = sizeof(msg);
int bytesSent = sendto(s, (char*)&msg, len, 0, (SOCKADDR*)&dest, sizeof(address));
在发送之前,我如何将 msg
的字节顺序转换为大端序?
如果您好奇,我正在发送的数据是用于 Bit Torrent UDP tracker protocol。
hton
函数族。 - Jarod42C
而不是C++
。此外,另一个问题是关于序列化或其他什么东西,用词不当,英语糟糕,很难理解。 - Drahcir