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

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/10:5/5
2024/05/09:21/23

2024/03/11より374/1385
人気モジュール
No.1: フォーラム 101
No.2: QualNet概要 6
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット91
No.2:Linux3
No.3:Unknown OS1

No.1:どっかの巡回ロボット86
No.2:Baidu巡回ロボット3
No.3:Safari3

日曜日からの合計
メイン
   Scenario Setup & Configuration
     nmake
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hiro
投稿日時: 2016/11/16 14:30
長老
登録日: 2005/7/16
居住地:
投稿: 452
Re: nmake
> GUIでIPv4,IPv6, DUAL_IPが選択できますが,もともとIPv4で設定されておりここは変えていません.

GUIで設定していて、生成された.configファイルは変更していないということですね。
なお、実際の.configファイルでは

GUIでIPv4を指定すると、
NETWORK-PROTOCOL IP

GUIでIPv6を指定すると、
NETWORK-PROTOCOL IPv6

となります。
hiro
投稿日時: 2016/11/16 14:36
長老
登録日: 2005/7/16
居住地:
投稿: 452
Re: nmake
> default:
> {
> ERROR_ReportError(NETWORK-PROTOCOL parameter must be IP, IPv6, > > > DUAL_IP or CELLULAR_LAYER3 or GSM-LAYER3);
> break:
> }
> となっています.

はい、
ということはこのdefault:に対応するswitch文でdefault:になっていること、
default:になってしまうということは他のcaseの条件には一致しなかったこと、
この処理を行っている関数がNETWORK_PreInitであること、
まではよろしいですか。
hiro
投稿日時: 2016/11/16 14:49
長老
登録日: 2005/7/16
居住地:
投稿: 452
Re: nmake
>>エラーがでるのは自分で新規作成したシナリオですか。
>>それともQualNetに最初から入っているシナリオですか。
>>その両方ですか。
> 両方です.

はい、ありがとうございました。
改造を加えたQualNetで実行すると常にエラーになる、
ということがわかりました。

おそらく、
改造を加えていないQualNetでQualNetに最初から入っているシナリオを
実行するとエラーにはならないと想像しています。
確認してみましたか。あるいは確認済みですか。
結果を教えて下さい。

改造を加えたQualNetで新規作成したシナリオを
改造を加えていないQualNetで実行した結果については、
こちらでは判断がつかないです。
もし、
改造によりシナリオに新しい設定項目を追加しているのであれば、
改造を加えていないQualNetでは追加設定部分を処理することが出来ないので、
エラーになるかもしれません。

改造によりシナリオに設定項目が追加されていない場合は、
エラーにはならない可能性が高いです。

確認した結果を教えて下さい。
umush
投稿日時: 2016/11/16 15:21
半人前
登録日: 2016/9/16
居住地:
投稿: 23
Re: nmake
>GUIでIPv4を指定すると、NETWORK-PROTOCOL IP
理解しています.

>ということはこのdefault:に対応するswitch文でdefault:になっていること、default:になってしまうということは他のcaseの条件には一致しなかったこと、この処理を行っている関数がNETWORK_PreInitであること、まではよろしいですか。
大丈夫です.
umush
投稿日時: 2016/11/16 15:38
半人前
登録日: 2016/9/16
居住地:
投稿: 23
Re: nmake
>改造を加えていないQualNetでQualNetに最初から入っているシナリオを
実行するとエラーにはならないと想像しています。
確認してみましたか。あるいは確認済みですか。結果を教えて下さい。

確認済みです.改造する前の状態だと動きます.

>改造を加えたQualNetで新規作成したシナリオを
改造を加えていないQualNetで実行した結果については、
こちらでは判断がつかないです。
もし
改造によりシナリオに新しい設定項目を追加しているのであれば、
改造を加えていないQualNetでは追加設定部分を処理することが出来ないので、エラーになるかもしれません。

改造によりシナリオに設定項目が追加されていない場合は、
エラーにはならない可能性が高いです。
確認した結果を教えて下さい。

質問にあった答えかどうかは分かりませんが,
\librariesの中のdeveloperや\includeの中を変えているので改造はしています.新規作成したシナリオを今までは実行できていました.しかし,新たに今回追加すると実行できなくなりました.
hiro
投稿日時: 2016/11/16 15:51
長老
登録日: 2005/7/16
居住地:
投稿: 452
Re: nmake
かなり状況がはっきりしてきました。

NETWORK_PreInit関数は初期化の関数です。
改造範囲はわかりませんが、

初期化部分は改造していない場合
初期化部分が既存処理であるのにエラーになる。
switch文で評価している情報が意図した値になっていない。
というか、値が書き換わっているか正しく処理されていない可能性がある。
具体的には、switch (node->networkData.networkProtocol) の部分。
この、node->networkData.networkProtocolは具体的にどのような値ですか?

本当は、この直前の部分で使っている関数。
node->networkData.networkProtocol =
MAPPING_GetNetworkProtocolTypeForNode(node, node->nodeId);

MAPPING_GetNetworkProtocolTypeForNodeの詳細がわかればよいのですが
残念ながらAPI関数でソースコードは公開されていません。
umush
投稿日時: 2016/11/16 16:29
半人前
登録日: 2016/9/16
居住地:
投稿: 23
Re: nmake
if (retVal && !strcmp(buf, "YES"))
{
retVal = FALSE;

// check if it is an END SYSTEM
IO_ReadString(
node,
node->nodeId,
nodeInput,
"ATM-END-SYSTEM",
&retVal,
buf);

if (retVal && !strcmp(buf, "YES"))
{
// By default IP is used
node->networkData.networkProtocol = IPV4_ONLY;
node->adaptationData.endSystem = TRUE;
node->adaptationData.genlSwitch = FALSE;
NetworkIpPreInit(node);
}
else
{
node->adaptationData.endSystem = FALSE;
node->adaptationData.genlSwitch = TRUE;
}
}
else
{
node->networkData.networkProtocol =
MAPPING_GetNetworkProtocolTypeForNode(node, node->nodeId);

具体的にどのような値かは
node->networkData.networkProtocol = IPV4_ONLY;
となっています.
hiro
投稿日時: 2016/11/16 16:40
長老
登録日: 2005/7/16
居住地:
投稿: 452
Re: nmake
ん???

> 具体的にどのような値かは
> node->networkData.networkProtocol = IPV4_ONLY;
> となっています

これは、どのようにして確認したのでしょうか。
Visual studio のデバッガか何かで確認ですか?

確認した方法を教えて下さい。


umush
投稿日時: 2016/11/16 16:53
半人前
登録日: 2016/9/16
居住地:
投稿: 23
Re: nmake
>確認した方法を教えて下さい。

\main\network.cppでかかれていました.
hiro
投稿日時: 2016/11/16 17:21
長老
登録日: 2005/7/16
居住地:
投稿: 452
Re: nmake
> \main\network.cppでかかれていました.

えと、そうじゃなくって実際にQualNetを実行した時の値を確認してほしいです。

そもそも、
node->networkData.networkProtocol =
MAPPING_GetNetworkProtocolTypeForNode(node, node->nodeId);

switch (node->networkData.networkProtocol)
{
という部分なので、switch文の直前で値が更新されていますよね。

しかも、
node->networkData.networkProtocol = IPV4_ONLY;
の部分って、実際に実行されていますか? 実行しない場所では?

実際に、
node->networkData.networkProtocol = IPV4_ONLY;
の部分が実行されていることを確認したということですか?
« 1 (2) 3 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT