- PR -

Applet・Servlet間通信でjava.net.SocketException: Unexpected end of file from serverが発生する

1
投稿者投稿内容
MARU
常連さん
会議室デビュー日: 2005/02/16
投稿数: 35
投稿日時: 2005-05-19 14:44
URLConnectionを利用したApplet・Servlet間の通信を行うアプリケーションを作成しています。
クライアント端末が少ない場合は問題なく通信を行うことが出来るのですが、
複数の端末で同時に通信を行うと、Applet側で以下のエラーが発生してしまいます。


java.net.SocketException: Unexpected end of file from server
  at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
  at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
  at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
  at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
  at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
  at sun.plugin.net.protocol.http.HttpURLConnection.getInputStream(Unknown Source)


【サーバーと端末の環境】
 ・サーバー
  OS RedHat EL ES v3.0
  AP BorlandEnterpriseServer 6.0
 ・端末
  OS 基本的にWindowsXPSP2(希にWin2000SP4有)
  JRE 1.4.1_05  


【現時点で分かっていること】
・ 特定の処理の通信で発生するわけではない。
  (大量のデータを通信するときに発生する頻度が高い?)
・ 端末15台を超えたあたりからエラーが発生する頻度が高くなる。
・ エラーが発生するときは5分、10分と待つわけではなく、長くても30秒ほどでエラーが発生する。
・ サーバーと端末間にはファイアーウォール等の通信に影響を与えそうなものはない。

【自分で調査したこと】
 Webで調査したところ以下の2つの記事を見つけました。

 Nikunoki's Web Page様
「Javaのネットワーク関連のお話」

 IBM developerWorks 様
「java.net.SocketException: Unexpected end of file from server 」(英語)
 

 上記サイトにはタイムアウトや、ファイアーウォールが原因と書いてありましたが
 エラーが戻ってくる時間やファイアーウォールが環境に無いことを考慮すると、
 今回の件とは関係ないと判断しました。

どなたか解決策、もしくは似たような事例を知っておられる方おられませんでしょうか?
以上、よろしくお願いします。

[ メッセージ編集済み 編集者: MARU 編集日時 2005-05-19 14:55 ]

[ メッセージ編集済み 編集者: MARU 編集日時 2005-05-19 15:04 ]
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-05-19 15:07
パケットをキャプチャしてサーバと正常に通信できているかどうか確認してみてはいかがでしょう。
MARU
常連さん
会議室デビュー日: 2005/02/16
投稿数: 35
投稿日時: 2005-05-19 15:53
インギ様。
ご返答ありがとうございます。

実際のPGと同じ仕組みで、大量のリクエストを発行するテストプログラムを
作成しましたのでそちらでテストすることになりました。
その時に通信パケットのキャプチャも行ってみます。

環境が社外にあるので、直ぐにテストを行うというのは難しいのですが
結果が分かり次第ご報告させていただきます。
1

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