いつflush()
サーバーのからのメッセージOutputStream
(それがタイムアウトする前に切断された場合)、クライアントは、いずれかのメッセージを受け取ったかどうか。サーバー側からこの状況をなんとかして制御する必要があります。クライアントがメッセージを送信する前に受信できるかどうかを知る必要があります。どのようにそれを行うことができますか?
これまで、私は通常、別のスレッドでのブロッキング読み取りを使用して、クライアントメッセージを読み取り、必要に応じてそれらを配布していました。
クライアントが切断した場合、InputStream.read()操作は-1を返し、それをクライアントが「切断」したことを通知として受け取り、InputStreamを閉じる必要があります。また、接続が異常終了した場合にもIOExceptionがスローされることがあります。
次に、Socket.isClosed()をテストして、メッセージを書き込めるかどうかを確認できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加