我无法解码从udp socket接收的数据包, 如何解码从c ++发送到qt udp socket的嵌套结构
我有结构喜欢这个
struct stCardInfo
{
unsigned short nsCardType;
unsigned short nsNoOfSignals;
unsigned short nsStatus;
};
struct stErrorInfo
{
unsigned short nsErrorType;
char ErrorInfo[8];
};
struct stInitHealthCheck
{
unsigned short nsNoOfCards;
unsigned short nsCardType;
QVector<stCardInfo*> lsCardInfo;
QVector<stErrorInfo*> lsErrorInfo;
};
我需要将bytearray数据转换为嵌套结构
答案 0 :(得分:1)
当您从Qt
UDP套接字读取时,这意味着您正在从应用程序级别进行读取。您可以使用QUdpSocket::readDatagram
函数来获取消息。要解释消息,您需要知道格式。如果您不确定数据的确切发送方式,可以尝试使用wireshark
来获取数据发送方式的内部视图。然后你可以做必要的解析并继续。
注意QUdpSocket::readDatagram
将数据返回为char *
。有关详细信息,请参阅Qt
文档。