我想发送用户数据,所以我在消息文件中添加了一个字段:
class MpeiMacHeader extends MacHeaderBase
{
MPEIMacType type;
uint32_t data;
}
这是收到的消息的样子: msg fields
我未成功在代码中获得字段data
。我尝试了几种表达式,但只能得到:msg fields
但是当我尝试在我的代码中使用msg->content
进行编译时:
no member named 'content' in 'omnetpp::cMessage'
如何在我的代码中获取此字段?生成的文件中有一个getData()
,但是我没有找到如何使用它。
答案 0 :(得分:0)
我尝试获取handleSelfMessage()
中的数据,找到了使用handleLowerPacket()
的解决方案:
void MpeiMac::handleLowerPacket(Packet *packet)
{
if (packet->hasBitError())
{
...
}
else
{
const auto& hdr = packet->peekAtFront<MpeiMacHeader>();
packet->setKind(hdr->getType());
if( hostID == 0 )
data = hdr->getData();
// simply pass the massage as self message, to be processed by the FSM.
handleSelfMessage(packet);
}
}
也许本节可以解释:inet_developers-guide: