- PR -

RMI通信の圧縮について

投稿者投稿内容
かい
常連さん
会議室デビュー日: 2003/05/27
投稿数: 34
投稿日時: 2004-05-19 21:00
eij__zzrです。初めまして。

私もRMIでの圧縮してデータ送信を行うことをしたかったのですが、
uziさんと同様にExceptionを検出してしまいました。
(uziさんの投稿にあるExceptionと同様です)

いろいろ、調査してみたのですが、カスタムソケット内のcloseメソッド
が呼ばれていない状態を確認しました。
(デバッグ文が出力されなかったので、そういう認識でいます)
よって、Socketがcloseされないために、Read Time outを起こしている
のではないかと、考えています。

もし、よければ、どのように回避したのか教えて頂けないでしょうか?
よろしくお願いします。
かい
常連さん
会議室デビュー日: 2003/05/27
投稿数: 34
投稿日時: 2004-05-20 11:40
eij__zzrです。自己レス(修正)です。

closeメソッドは、通信の終了(切断)なので、呼ばれること
はあり得ないですね。
間違った認識でした。

もう少し、調査します。
uzi
会議室デビュー日: 2004/05/10
投稿数: 13
投稿日時: 2004-05-21 12:36
追加情報です。実装方法についてもう少し具体的に書くと

・出力側

flush() の実装
その中で
finish()
Deflater の reset()
を行う。

・入力側

read(byte[] buf, int off, int len)
の中で、通信終了後 Inflater の reset() を行う。
ただし、残り8byteのデータが来たときは異常な動きをすることがあります。
#この場合の但し対処方法はよく分かりません。

スキルアップ/キャリアアップ(JOB@IT)