Japan QualNet Community Forums Japan QualNet Community Forums
Welcome Guest 
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/02:11/14
2024/05/01:21/26

2024/03/03より301/1375
人気モジュール
No.1: フォーラム 77
No.2: QualNet概要 1
No.3: ニュース 1
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット67
No.2:Windows NT1

No.1:どっかの巡回ロボット65
No.2:Safari1
No.3:Majestic-12巡回ロボット1

日曜日からの合計
メイン
   Miscellaneous: Architecture & Generic Development Questions
     OLSRのHELLOメッセージの中身のソースコード
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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
ここまでのコールスタックは以下の通りでした。
>	qualnet.exe!build_hello_msg
 	qualnet.exe!RoutingOLSRv2_Niigata_GenerateHelloMessage
 	qualnet.exe!RoutingOLSRv2_Niigata_Layer
 	qualnet.exe!APP_ProcessEvent
 	qualnet.exe!NODE_ProcessEvent



◆HELLO受信
以下ファイルにprocess_helloという関数があります。ここでhelloパケットの受信処理をしているようです。
QUALNET_HOME\libraries\wireless\src\olsrv2\proc_recv_packet.cpp
ここまでのコールスタックは以下の通りでした。
>	qualnet.exe!process_hello
 	qualnet.exe!olsr_process_received_hello
 	qualnet.exe!process_message
 	qualnet.exe!parse_packet
 	qualnet.exe!RoutingOLSRv2_Niigata_HandlePacket
 	qualnet.exe!RoutingOLSRv2_Niigata_Layer
 	qualnet.exe!APP_ProcessEvent
 	qualnet.exe!NODE_ProcessEvent


◆シナリオ
以下に、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メッセージのサンプルシナリオもありますので、このシナリオを動かしてみてデバッガなどで動作を確認してみては如何でしょう。
QUALNET_HOME\scenarios\wireless\olsrv2-niigata\ipv4\hello-test


上記について質問させていただきます。
このシナリオに限らず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のシナリオをコマンドプロンプトで実行する場合、以下のようにすると思います。
cd [QUALNET_HOME]\scenarios\default
qualnet default.config

IDEも同様に作業ディレクトリにはconfigファイルのあるディレクトリを指定し、コマンド引数にはconfigファイルを指定するだけです。

なおデバッグの際はMakefile-windows-vc9などを以下のようにして、デバッグを有効にし、最適化を無効にし、再ビルドする必要があります。
DEBUG = /Zi 
#OPT = /Ox /Ob2


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 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT