スクリプト内のアドレスを使用してノードの場所を取得するにはどうすればよいですか?

Sourabh

アドレスとデータを入力として受け取り、そのノードにデータを送信する送信コマンドを作成しました。アドレスを使用してノードの場所を取得しようとしましたが、null値が表示されていますが、データは正常に転送されています。
なぜこれが起こっているのですか、そして解決策は何ですか?

例:

transmit 2,[1,2,3]   //transmit data [1,2,3] to node-2

transmit = { addr, data ->
    println "TRANSMIT $addr, $data"
    println phy << new DatagramReq(to: addr, protocol: Protocol.MAC, data: data)
    NodeInfo n = new NodeInfo(addr)
    println 'location = '+n.getLocation()
    println 'Address :'+addr+'\nData :'+data

    def txNtf = receive(TxFrameNtf, 1000)

    println txNtf  
}

Model.groovy:

class Model extends UnetAgent {

int neighbor, addr;
float neighbor_distance;
def ranging

def dist;
def data


public void startup() {
AgentID phy = agentForService(Services.PHYSICAL);
subscribe(topic(phy));

ranging = agentForService Services.RANGING;
subscribe topic(ranging);

def nodeInfo = agentForService Services.NODE_INFO;
addr = nodeInfo.address;

}

void processMessage(Message msg) {
if (msg instanceof DatagramNtf && msg.protocol == Protocol.MAC)
{     
    neighbor = msg.from;
    println " BEACON RECEIVED FROM:" +neighbor
    data = msg.getData()

    def bits=32

    System.out.println "number of bits sent :"+bits*data.size()

    ranging << new RangeReq(to: neighbor);
  }
  else if (msg instanceof RangeNtf )
  {   
    float neighbor_distance = msg.getRange();
    println( "\n Distance between node "+addr + " and neighbor " +neighbor+ " is " + neighbor_distance+"m.\n")


    }
  }

  void setup() {


       }

   }
マンダーチトレ

あなたのコード:

NodeInfo n = new NodeInfo(addr)
println 'location = '+n.getLocation()

ノード情報オブジェクトを作成し、locationそこから取得しようとしますデフォルトでは、このようなオブジェクトには、がないlocationため、nullを取得します。作成するオブジェクトは、ノードで実行されているノード情報エージェントを参照していません。

おそらく意図したのは、ノード情報エージェントから情報を取得することでした。この情報は、ローカルで作成するのではなく、検索する必要があります。コードスニペットの例:

def n = agentForService org.arl.unet.Services.NODE_INFO
println 'location = '+n.location

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

スレッド内のオブジェクトを初期化してから他の場所で使用するにはどうすればよいですか?

分類Dev

ノードとエクスプレスを使用してShopifyアプリのフロントエンドで現在のストアの詳細を取得するにはどうすればよいですか?

分類Dev

再帰を使用して、リンクリスト内のノードをペアで交換するにはどうすればよいですか?

分類Dev

コードファーストのASP.NETMVCアプリを変更して、データベースの場所をアプリのホームディレクトリから相対的にするにはどうすればよいですか?

分類Dev

スプレッドシートからデータを取得してその値を使用するにはどうすればよいですか?ノード

分類Dev

Oracle APEXを使用してリモートクライアントのIPアドレスを取得するにはどうすればよいですか?

分類Dev

HTTPSを使用している場合、クライアントのIPアドレスを取得するにはどうすればよいですか?

分類Dev

すべてのノードリストのIPアドレスを取得するにはどうすればよいですか?

分類Dev

forループに基づいて範囲内のオブジェクトのアドレスを取得するにはどうすればよいですか?

分類Dev

自分のIPアドレスを取得して、シェルスクリプトの変数に保存するにはどうすればよいですか?

分類Dev

自分のIPアドレスを取得して、シェルスクリプトの変数に保存するにはどうすればよいですか?

分類Dev

neo4jリンクリスト内のすべてのノードを取得するにはどうすればよいですか?

分類Dev

スノーフレークunpivotが異なるタイプのフィールドを検出しない場合、selectクエリのすべてのフィールドをキャストするにはどうすればよいですか?

分類Dev

エラーが発生するGoogleスプレッドシートのonOpen()関数を使用しているときに、リアルタイムのスクリプトエラー通知を取得するにはどうすればよいですか?

分類Dev

スレッド内のすべてのリクエストから新しいIPを取得するにはどうすればよいですか?

分類Dev

リンクリスト内の内部ノードを印刷するにはどうすればよいですか?

分類Dev

サーバーに複数のIPアドレスがある場合、各IPアドレスを使用してスクリプトを実行するにはどうすればよいですか?

分類Dev

アドレスを介してタプル内の要素のインデックスを取得するにはどうすればよいですか?

分類Dev

実行可能ファイルの場所に関係なく、相対パスを使用してプロジェクトディレクトリ内のファイルにアクセスするにはどうすればよいですか?

分類Dev

インターフェイスを使用してオブジェクトのアドレスを取得するにはどうすればよいですか?

分類Dev

Bashスクリプトで使用するためにnmblookupからIPアドレスのみを取得するにはどうすればよいですか?

分類Dev

WebRTCを使用してユーザーのパブリックIPv4アドレスを取得するにはどうすればよいですか?

分類Dev

リフレクトフィールドを使用するためのアドレスを取得するにはどうすればよいですか?

分類Dev

リフレクトフィールドを使用するためのアドレスを取得するにはどうすればよいですか?

分類Dev

GKEノードプール内のノード数をスタックドライバーメトリックとして取得するにはどうすればよいですか?

分類Dev

ネイティブスクリプトを使用してAndroid8でMACアドレスを取得するにはどうすればよいですか?

分類Dev

removeメソッドを使用してリンクリストの最初のノードを削除するにはどうすればよいですか

分類Dev

ユーザーのノードの下にあるノードを使用してリストを作成するにはどうすればよいですか?

分類Dev

クラスター内の他のノードを待機するbashスクリプトを作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    スレッド内のオブジェクトを初期化してから他の場所で使用するにはどうすればよいですか?

  2. 2

    ノードとエクスプレスを使用してShopifyアプリのフロントエンドで現在のストアの詳細を取得するにはどうすればよいですか?

  3. 3

    再帰を使用して、リンクリスト内のノードをペアで交換するにはどうすればよいですか?

  4. 4

    コードファーストのASP.NETMVCアプリを変更して、データベースの場所をアプリのホームディレクトリから相対的にするにはどうすればよいですか?

  5. 5

    スプレッドシートからデータを取得してその値を使用するにはどうすればよいですか?ノード

  6. 6

    Oracle APEXを使用してリモートクライアントのIPアドレスを取得するにはどうすればよいですか?

  7. 7

    HTTPSを使用している場合、クライアントのIPアドレスを取得するにはどうすればよいですか?

  8. 8

    すべてのノードリストのIPアドレスを取得するにはどうすればよいですか?

  9. 9

    forループに基づいて範囲内のオブジェクトのアドレスを取得するにはどうすればよいですか?

  10. 10

    自分のIPアドレスを取得して、シェルスクリプトの変数に保存するにはどうすればよいですか?

  11. 11

    自分のIPアドレスを取得して、シェルスクリプトの変数に保存するにはどうすればよいですか?

  12. 12

    neo4jリンクリスト内のすべてのノードを取得するにはどうすればよいですか?

  13. 13

    スノーフレークunpivotが異なるタイプのフィールドを検出しない場合、selectクエリのすべてのフィールドをキャストするにはどうすればよいですか?

  14. 14

    エラーが発生するGoogleスプレッドシートのonOpen()関数を使用しているときに、リアルタイムのスクリプトエラー通知を取得するにはどうすればよいですか?

  15. 15

    スレッド内のすべてのリクエストから新しいIPを取得するにはどうすればよいですか?

  16. 16

    リンクリスト内の内部ノードを印刷するにはどうすればよいですか?

  17. 17

    サーバーに複数のIPアドレスがある場合、各IPアドレスを使用してスクリプトを実行するにはどうすればよいですか?

  18. 18

    アドレスを介してタプル内の要素のインデックスを取得するにはどうすればよいですか?

  19. 19

    実行可能ファイルの場所に関係なく、相対パスを使用してプロジェクトディレクトリ内のファイルにアクセスするにはどうすればよいですか?

  20. 20

    インターフェイスを使用してオブジェクトのアドレスを取得するにはどうすればよいですか?

  21. 21

    Bashスクリプトで使用するためにnmblookupからIPアドレスのみを取得するにはどうすればよいですか?

  22. 22

    WebRTCを使用してユーザーのパブリックIPv4アドレスを取得するにはどうすればよいですか?

  23. 23

    リフレクトフィールドを使用するためのアドレスを取得するにはどうすればよいですか?

  24. 24

    リフレクトフィールドを使用するためのアドレスを取得するにはどうすればよいですか?

  25. 25

    GKEノードプール内のノード数をスタックドライバーメトリックとして取得するにはどうすればよいですか?

  26. 26

    ネイティブスクリプトを使用してAndroid8でMACアドレスを取得するにはどうすればよいですか?

  27. 27

    removeメソッドを使用してリンクリストの最初のノードを削除するにはどうすればよいですか

  28. 28

    ユーザーのノードの下にあるノードを使用してリストを作成するにはどうすればよいですか?

  29. 29

    クラスター内の他のノードを待機するbashスクリプトを作成するにはどうすればよいですか?

ホットタグ

アーカイブ