2012-02-15 5 views
0

は時々私はEOFExceptionを取得します。 EOFExceptionは、Connector.open()の呼び出し後約10秒後にスローされます。現在、サーバー側で何が起きているのか確認できません。てEOFException)

編集:
Connector.openへの呼び出しは()のメインイベントスレッドではありませんスレッドから作られています。この問題は、OS固有の問題ではないとは思うが、OS 6を実行するさまざまなデバイスに表示されます。

これを解決する方法やエラーの原因は何ですか?

更新:いくつかの場面で
、Connector.open()の呼び出しもTLSAlertExceptionTLSIOException内にラップ生み出します。例外は直ちにスローされるのではなく、むしろ前述のように約10秒後にEOFExceptionとなります。

+2

2つの質問:1)あなたは例外がConnector.open()によってスローされていることを確かめていますか? 2)あなたはOSイベントスレッドから別のスレッドでConnector.open()を呼び出していますか? – Richard

+0

はい、例外はConnector.open()によってスローされ、はい、別のスレッド(メインイベントスレッドではない)から呼び出されます。 – mrvincenzo

+1

例外メッセージ(残念なことにありそうもない)またはスタックトレースに何か診断がない限り、私はサーバーがBlackBerryが期待していないものを投げていると思うでしょう。たぶんあなたが調べることができるサーバーを設定するか、またはコードの残りの文脈の中で意味がある場合は、良いサーバーが知られているサイトを試してみてください。私はこの種の接続を使って安全なウェブサーバーと話をしましたが、通常はhttpsプロトコルを使用しています。 – Richard

答えて

0

最後に、私は、サーバー側でTLSハンドシェイクをキャプチャすることができたと私は、次の見た:

  1. Serverは
  2. Serverがサーバーこんにちはメッセージで応答クライアントのHelloメッセージを受信
  3. クライアント鍵交換がクライアントから約10秒間受信されませんでした。
  4. サーバーが閉じられました私はConnector.open()フローに影響を与える方法がわからなかったので、クライアントとの接続が

、私にできる唯一のことは、リトライであるINGのcatch後(私はそれが2回続けて起こって見たことがない)のいずれかEOFExceptionまたはTLSAlertException(おそらく他のTLS関連の例外)。

関連する問題