サーバーをより安定させようとしています。これは、サーバー ソケットおよびソケット クラスを使用します。情報の転送は、ストリーム クラスを使用して行われます。
デバッグを行うと、しばらくの間すべてのオンスが解放されることがあります。
クライアントがソケット接続を行っただけで、データを送信しなかったか、サーバーがクラスInputStreamの読み取りメソッドでサーバーがフリーズすることを期待していたよりも少ないことがわかりました。
読み取りメソッドをタイムアウトさせる方法はありますか? ドキュメント イオンは時間のふくれっ面については語っていませんが、情報データが友好的であることをブロックすると述べています。
読み取りがタイムアウトできない場合、ソケット接続を介してデータを読み取り、クライアントがデータを送信しなくなった場合にフリーズしない別の方法はありますか????
データの読み込みとフリーズする場所のコード スニペット
public String ReadLine(){
String out="";
// read in one line
try{
request = new StringBuffer(1000);
boolean f=true;
while(true){
int c=in.read(); // WILL FREEZ HEAR IF CLIENT NO LONGER CONNECTED OR SENDING DATA
if (c=='\r'){
// next should be a \n
c=in.read();
//.....