接続をリッスンし、タップされたときに 100k バイトのデータをダンプする単純なサーバーがあります。
サーバーへのソケット接続を行い、100kバイトを読み取って終了する対応するクライアントがあります。
どちらも 1k バイト間隔で転送を報告します。
両方を Eclipse のスレッドで実行すると、正常に動作します。両方を別々のメインとして (別々のシェルで "java ..." を使用して) 実行すると、正常に動作します。サーバーをメインとして実行し、Eclipse で実行されているアプレットからクライアントを呼び出すと、正常に動作します。
***問題:
サーバーをメインとして実行し、サーバーと同じ (Windows) ホストで実行されている Chrome ブラウザーでクライアントをアプレットとして呼び出すと、サーバーが 24k バイトを書き込み、クライアントが約 9k バイトを読み取った後にブロックされます。
サーバーから大きなファイルを取得できるアプレットを構築したいのですが、これが難しくなっています。
メッセージのために、サーバーが未読出力によってブロックされていることは確かです。クライアントがブロックされている理由がわかりません。