0

omn​​et++ でシミュレーション モデルを開発しています。基本的に、私の仕事は LTE に関連するものを開発することですが、最初に、ソースからパケットを取得し、しばらくキューに格納してシンクに配信する単純なモデルを開発する必要があります。 ...

私はこのモデルを開発しましたが、私にとってはうまく機能しています....

次に、トークンバケット メーターをキューとシンクの間に配置する必要があります...バーストを処理し、拒否されたパケットをトークン メーターからキューに送り返します.2 番目の添付画像のようなものです..このトークンバケット メーターをOMNETのsimuLTEパッケージ...

これをシミュレートすると、次のようなエラーが表示されます

Quote: cannot cast (queueing::Job *)net.tokenBucketMeter.job-1 to type 'cPacket *' 

問題の正確な場所がわかりません。使用しているソースがジョブを作成している可能性があり、tokenbucket メーターはパケットのみを受け入れます..そうである場合、どのタイプのソースを使用する必要がありますか??

これを明確にしてくださいますか?? とても感謝します

4

1 に答える 1

0

現在、あるプロジェクトでも OMNeT++ を使用しています。以前にいくつかの C99 に触れただけで OMNeT++ の使い方を学ぶと、少しイライラすることがあります。

プロジェクトのベースとして使用しているデモプロジェクトを確認すると、それ以外の有用なタイプを共有していないようJobに見えるため、このようにキャストしようとはしません。cPacketcObject

プロジェクト ハンドル ジョブを見てください。PassiveQueue.ccすべてが組み込みのキャストを使用して and キャストとして渡されます。/queueinglibcMessage

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自分自身を使用していませんが、プロトコルがどのように機能するかを考えると、メッセージを 1 つまたは複数のパケットに変換できる可能性が高いようです。

于 2013-07-10T14:56:36.513 に答える