如何通过omnet中的门发送.msg?

时间:2011-07-05 20:29:53

标签: c++ omnet++

为了实现tcp / ip模拟,我为每个层创建了数据包。

由于omnet send函数仅支持在使用cMessage定义从cMessage进行子类化时发送.msg对象,因此无法找到通过门发送该数据包的方法而不会丢失数据

例如,对于应用层,我想添加destAddresspacketLength,所以我创建了:

message AppPacket
{
   int pktLength;
   int destAddress;
}

现在,我已在omnet中创建了.cc.h个类来实现它:

class AppPacket : public cMessage { ... }

我有一个包含所有需要数据的新AppPacket后,我想将它发送到较低层(传输层),但我不能,因为send函数只发送cMessage对象。

我该怎么办?我认为Message的重点是帮助我们实现网络数据包。

1 个答案:

答案 0 :(得分:0)

您的AppPacket的.cc和.h文件将自动生成。 你发送函数的类型是对的,但请注意,你的类继承了cMessage对象,所以AppPacket也是一个cMessage!查看从tcpApp发送自定义消息的示例代码:

CustomMsg *msg = new CustomMsg("data");
msg->setByteLength(numBytes);
msg->setExpectedReplyLength(expectedReplyBytes);
msg->setServerClose(serverClose);
msg->setContent("message-specific-content");

socket.send(msg);