我在omnet++..Basically上开发了一个仿真模型我的工作是开发一些与omnet++..Basically相关的东西,但首先我需要开发一个简单的模型,它从一个源中获取数据包,并将其存储在队列中一段时间,然后将其发送到接收器……
我已经开发了这个模型,它对我来说工作得很好。
现在我需要将令牌桶计量器放在队列和sink...to之间,处理突发,并将被拒绝的数据包从令牌计量器发送回queue..something,就像第二个附加的映像一样。我从OMNET的simuLTE包中获取了这个令牌桶计量器……
当我对此进行模拟时,它显示的错误如下
Quote: cannot cast (queueing::Job *)net.tokenBucketMeter.job-1 to type 'cPacket *' 我不知道问题的确切位置,可能是正在使用的源正在创建作业,而令牌桶计量器只接受packets..If,那么我应该使用哪种类型的源??
你能澄清这一点吗?将会非常感激
发布于 2013-07-10 22:56:37
我目前也在一个项目中使用OMNeT++。学习使用以前只接触过一些C99的OMNeT++可能有点令人沮丧。
通过检查您用作项目基础的演示项目-看起来除了cObject之外,Job和cPacket不共享任何有用的类型,所以我不会尝试这样转换。
看看/queueinglib项目handles Jobs中的PassiveQueue.cc -一切都作为cMessage传递,并使用内置的cast进行强制转换:
cMessage msg (comes in from method signature)
Job *job = check_and_cast<Job *>(msg);在此链接所示的继承层次结构中,您要使用的cPackets是cMessage的子级:
http://www.omnetpp.org/doc/omnetpp/api/index.html
我自己并没有使用cPackets,但考虑到协议的工作原理,您似乎可以将消息转换为一个或多个数据包。
https://stackoverflow.com/questions/17439770
复制相似问题