モバイルノードのシミュレータをそれぞれ開発例えば100mの伝送距離で。ノード間の通信は無線およびTDMAベースです。 2つのノード(同じ範囲ではない)が同時にメッセージをブロードキャストすると、問題が発生することに気付きました。
どのように私はnessageの距離を制限することができますノードから送信された?私は同時に2つ以上のメッセージをブロードキャストすることができるように、そして送信ノードの範囲内のノードだけがメッセージを聞くでしょうか?
回答:
回答№1は0パケットの受信を処理するコードは送信側からの距離を計算し、範囲外の場合はパケットをドロップします。
もう少し正確でない解決策: パケットを送信する前に、ブロードキャストノードは潜在的な受信ノードまでの距離を確認し、範囲外の場合はパケットを送信しません。これは少し速くなり(パケットが少なくなるため)、より明確になります(実際に配信されたパケットについてのみブロードキャストアニメーションが表示されます)。
はるかに簡単な解決策:INET Frameworkを使用します。これにはすでに必要な実装があります。 TDMAプロトコルを処理するMACモジュールを実装するだけで済みます。