クライアントサーバー通信を行っています。URLConnection
クラスを介して両方を接続しました。
現在、ログイン情報をサーバーに送信しようとしています。サーバーは情報が正しいかどうかを確認します。そうでない場合は、再度ログインするように求められます。このシナリオでは、ログインが失敗したと仮定します。しかし、ログイン情報を再度送信しようとしたときにサーバーから応答を取得した後、取得しています
java.net.ProtocolException: Cannot write output after reading input.
これが私のコードです:
URL url = new URL(uniRL);
java.net.URLConnection connection = url.openConnection();
connection.setAllowUserInteraction(true);
connection.setDoOutput(true);
while(true){
System.out.println("Enter 1-login , 2-Exit");
useroption = input.nextLine();
numOption = Integer.parseInt(useroption);
if( numOption == 1){
OutputStreamWriter writer = new OutputStreamWriter(
connection.getOutputStream());
user_login = login();
writer.write(user_login[0]+"@");
writer.write(user_login[1]);
writer.flush();
//out.close();
BufferedReader in = new BufferedReader(
new InputStreamReader(
connection.getInputStream()));
while ((tempString = in.readLine()) != null) {
decodedString = tempString;
//System.out.println(decodedString);
//System.out.println(decodedString.equalsIgnoreCase("unknown user"));
}
in.close();
if((decodedString.equalsIgnoreCase("unknown user"))){continue;}
else{break;}
}