私は以下のシナリオを想定しています.H1ホストにカスタムUDPアプリケーションがあり、P1とP2がUDPEchoAppを使用する3つのワイヤレスホストH1、P1およびP2(WirelessHostクラス)。OMNeT ++とUDPとのINETワイヤレス通信
考え方は、H1が他の2つにメッセージを送信しますが、スケジュールされた方法で送信することです。 H1はP1にメッセージを送り、P1がエコーを返すのを待つ、P1からのエコーの受信時にのみ、P2にメッセージを送ることができる。
私の質問は:どのように私はこの動作を取得できますか?私はP1とP2にメッセージを送ることができますが、P2に送信する前にP1応答を待つようにH1に指示する方法はわかりません。
また、ARPに関する別の質問です。私は現在arpType = GlobalARPを使用していますが、H1がARP要求を送信するのを避けるにはどうすればいいですか? H1に特定のホストを見つける場所をすでにどのように伝えることができますか?
ネットワークレイヤは本当に必要ではないので、無視してアプリケーションレイヤからMACにメッセージを転送するだけで、適切な宛先アドレスを見つけることができますか?
まず、おかげでお返事を、私は私はこのエラーを取得する、しかし問題を持っています 'check_and_cast():「* INET :: UDPDataIndication」を入力するnullptrをキャストすることはできません'の受信時。 UDPEchoAppからのメッセージなぜなのかご存知ですか?それは特定のパケット構造のためですか? – brid
おそらく、自己メッセージがUDPパケットとして処理されています。残念ながら、 'UDP_I_DATA'は0に等しく、同じ種類の値は自己メッセージを使います。私は私の例を更新し、新しい条件を追加したので、その問題を解決するはずです。 –
まだ動作しません。私が持っているものは実際に次のようなものです: 'if(msg-> isSelfMessage()){//} else if(msg-> getKind()== UDP_I_DATA){// ...}'既に自己メッセージをフィルタリングしています – brid