![]() ![]() ![]() | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
takm | 投稿日時: 2014/10/24 11:43 |
新米 ![]() ![]() 登録日: 2014/8/6 居住地: 投稿: 11 |
OLSRのHELLOメッセージの中身のソースコード こんにちは。olsr-inria.cppのハローメッセージについて質問させていただきます。
OLSRのHELLOメッセージに含まれる隣接ノード集合を用いてルーティングをに手を加えたいと考えているのですが、それらHELLOメッセージの中身に関する記述がソースコードのどこに記載されているのかがわかりません。 QualNetは最近触りはじめ、C言語の知識も未熟なので、わかる方いらっしゃいましたらよろしくお願いします。 |
hed | 投稿日時: 2014/10/27 15:39 |
一人前 ![]() ![]() 登録日: 2006/7/3 居住地: 京都 投稿: 81 |
Re: OLSRのHELLOメッセージの中身のソースコード こんにちは。
QualNet 6.1での情報ですが、HELLOパケットに関しては以下を起点に見ていけば分かりそうです。(C/C++については勉強して下さいとしか言えませんが。) ◆HELLO送信 以下ファイルにbuild_hello_msgという関数があります。ここでhelloパケットを作成しているようです。 QUALNET_HOME\libraries\wireless\src\olsrv2\generate_msg.cpp ここまでのコールスタックは以下の通りでした。
◆HELLO受信 以下ファイルにprocess_helloという関数があります。ここでhelloパケットの受信処理をしているようです。 QUALNET_HOME\libraries\wireless\src\olsrv2\proc_recv_packet.cpp ここまでのコールスタックは以下の通りでした。
◆シナリオ 以下に、HELLOメッセージのサンプルシナリオもありますので、このシナリオを動かしてみてデバッガなどで動作を確認してみては如何でしょう。 QUALNET_HOME\scenarios\wireless\olsrv2-niigata\ipv4\hello-test 少なくとも上記あたりからHELLOの送信側、受信側の処理を理解し、あとはどのデータ構造をいじって(情報を追加して?)、どこにやりたい処理を入れるかを決めればいいのではないでしょうか。 |
takm | 投稿日時: 2014/11/11 9:02 |
新米 ![]() ![]() 登録日: 2014/8/6 居住地: 投稿: 11 |
Re: OLSRのHELLOメッセージの中身のソースコード hed様
コメントありがとうございます。 olsr-inriaを用いることを考えているのですが、 添付していただいhelloメッセージのコードはolsrv2だけでなくolsr-inriaでもつかわれるのでしょうか。 |
hed | 投稿日時: 2014/11/11 9:07 |
一人前 ![]() ![]() 登録日: 2006/7/3 居住地: 京都 投稿: 81 |
Re: OLSRのHELLOメッセージの中身のソースコード routing_olsr-inria.cpp
のOlsrProcessReceivedHelloやOlsrSendHelloを見ればいいのではないでしょうか? 一度ご自身でも確認してみてください。 |
takm | 投稿日時: 2014/11/14 10:39 |
新米 ![]() ![]() 登録日: 2014/8/6 居住地: 投稿: 11 |
Re: OLSRのHELLOメッセージの中身のソースコード hed様
返信ありがとうございます。 引用: 以下に、HELLOメッセージのサンプルシナリオもありますので、このシナリオを動かしてみてデバッガなどで動作を確認してみては如何でしょう。 上記について質問させていただきます。 このシナリオに限らずGUIを用いずにシナリオをvisual studioで実行することができるのでしょうか。手順を教えていただけると助かります。 また、出力はGUIで実行した場合statファイルに出力されますが、visual studioを用いた場合の形式ははどのようになるのでしょうか。 |
hed | 投稿日時: 2014/11/14 11:16 |
一人前 ![]() ![]() 登録日: 2006/7/3 居住地: 京都 投稿: 81 |
Re: OLSRのHELLOメッセージの中身のソースコード いま手元に古いQualNetしかないので、お使いのバージョンで同じかはわかりませんが、Programmer's Guideの「Compiling from Visual Studio 2008 IDE」にIDEの使い方があります。
基本的にはデバッグの設定で作業ディレクトリとコマンド引数を設定し、ブレイクポイントを貼って実行するだけです。 たとえばdefaultのシナリオをコマンドプロンプトで実行する場合、以下のようにすると思います。
IDEも同様に作業ディレクトリにはconfigファイルのあるディレクトリを指定し、コマンド引数にはconfigファイルを指定するだけです。 なおデバッグの際はMakefile-windows-vc9などを以下のようにして、デバッグを有効にし、最適化を無効にし、再ビルドする必要があります。
Visual StudioのIDEの使い方などはQualNetに限った話ではないので、検索したりして自分で調べてみてください。 |
takm | 投稿日時: 2014/11/14 11:59 |
新米 ![]() ![]() 登録日: 2014/8/6 居住地: 投稿: 11 |
Re: OLSRのHELLOメッセージの中身のソースコード hed様
何度もすみません。 デバッグと最適化についてはTraning DAY2を見た時にも意味が理解できずに飛ばしてしまったのですが、 Makefileというのは以下の C:\snt\qualnet\6.1\libraries\developer に含まれている Makefile-common Makefile-windows のことで、これらをテキストエディタで開いて、以下の DEBUG = /Zi #OPT = /Ox /Ob2 を記述すればよいのでしょうか。 見当違いのことを言っていたらすみません。 |
hed | 投稿日時: 2014/11/14 12:19 |
一人前 ![]() ![]() 登録日: 2006/7/3 居住地: 京都 投稿: 81 |
Re: OLSRのHELLOメッセージの中身のソースコード mainの下にあるMakefile等です。
ドキュメントを一度読んでみてください。 |
hed | 投稿日時: 2014/11/14 12:19 |
一人前 ![]() ![]() 登録日: 2006/7/3 居住地: 京都 投稿: 81 |
Re: OLSRのHELLOメッセージの中身のソースコード mainの下にあるMakefile等です。
ドキュメントを一度読んでみてください。 |
hed | 投稿日時: 2014/11/14 12:19 |
一人前 ![]() ![]() 登録日: 2006/7/3 居住地: 京都 投稿: 81 |
Re: OLSRのHELLOメッセージの中身のソースコード mainの下にあるMakefile等です。
ドキュメントを一度読んでみてください。 |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |