私は最もランダムな問題を抱えています。簡単に言えば、特定の条件が満たされるまでwhileループを繰り返し、満たされない場合は明らかにループの後のコードを実行する必要があります。何らかの理由で while ループの後のコードが実行されません... これが私のコードです:
while (true)
{
Socket ClientSocketConnection = serverSocket.accept();
System.err.println("We have established a connection with a client!");
System.out.println(" ");
ServerInput = new BufferedReader(new InputStreamReader(ClientSocketConnection.getInputStream()));
ServerOutput = new DataOutputStream(ClientSocketConnection.getOutputStream());
while((StringInput = ServerInput.read()) != -1)
{
//Things get done here
}
//methodBeingUsed is a string here
switch (methodBeingUsed){
case "GET":
GET();
break;
case "POST":
POST(sBuffer.toString());
break;
}
System.err.println("The Connection will now Terminated!");
ServerOutput.close();
ServerInput.close();
ClientSocketConnection.close();
}
}
基本的に、なんらかの理由で switch ステートメントが実行されていませんか?? コードをデバッグすると、ServerInput
変数から最後の -1 に到達すると、コードが停止します。while(true)
停止し、ループ内の他のすべてを続行しません。なぜこれが起こっているのか本当にわかりません...