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

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/17:13/16
2024/05/16:22/24

2024/03/18より397/1407
人気モジュール
No.1: フォーラム 99
No.2: QualNet概要 3
No.3: ニュース 2
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット79
No.2:Unknown OS1
No.3:Windows XP1

No.1:どっかの巡回ロボット70
No.2:Majestic-12巡回ロボット6
No.3:Google巡回ロボット3

日曜日からの合計
メイン
   Application Layer Protocol Implementation & Model Development
     サーバ側の複数パケット返答について
投稿するにはまず登録を

題名 投稿者 日時
   サーバ側の複数パケット返答について qulneko 2007/1/15 18:21
   » Re: サーバ側の複数パケット返答について kabocha 2007/1/15 19:24
       Re: サーバ側の複数パケット返答について qulneko 2007/1/17 23:57
フラット表示 前のトピック | 次のトピック
投稿者 スレッド
kabocha
投稿日時: 2007/1/15 19:24
常連
登録日: 2006/9/8
居住地:
投稿: 43
Re: サーバ側の複数パケット返答について
エラーがでるっておっしゃっていますが、コンパイルエラー? のことですか?

とりあえず、まずいと思うのは、 ここかなぁ。


timerMsg = MESSAGE_Alloc(
                         node,
                         APP_LAYER,
                         APP_LOOKUP_SERVER,
                         MSG_APP_FromTransport);


これでタイマーを仕掛けることは出来るでしょうが、イベントディスパッチ処理で、ディスパッチされた message ポインタが、packet なのか、イベントなのかが分からないと思います。

上記のタイマーを仕掛けて、以下のディスパッチ処理をハンドラ関数に入れておけば、確かに MSG_APP_FromTansport に処理が行われることになると思います。


switch (msg->eventType)
{
     case MSG_APP_FromTransport:


しかし、 lookup server では、 この msg は イコール packet ですが、qualneko さんのインプリメントでは、このmsg は timerMsg であって、パケットではありません。当然 case MSG_APP_FromTransport 内の処理も変わるはずです。それを考慮していないとすれば、アクセス違反かなにかで、落っこちる結果になるだけだと思います。



timerMsg = MESSAGE_Alloc(node,
                               APP_LAYER,
                               APP_LOOKUP_SERVER,
                               MSG_APP_TimerExpired);


のようにきちんとタイマーイベントを作成してタイマーをスケジュールし、ディスパッチ関数を以下のように書いてあげる必要があるのではないでしょうか?


     switch (msg->eventType)
     {
         case MSG_APP_TimerExpired:
         {
             AppTimer *timer;
 
             timer = (AppTimer *) MESSAGE_ReturnInfo(msg);
 
             switch (timer->type)
             {
                 case APP_TIMER_SEND_PKT:
                 クライアントへの送信


これ以上のことは文章からはなんとも・・・
フラット表示 前のトピック | 次のトピック
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT