我正在做客戶端服務器通信。我通過URLConnection
類獲得了兩個連接。桌面客戶端Web服務器通信
現在我試圖向服務器發送登錄信息,服務器將檢查信息是否正確,否則它會要求我再次登錄,並且針對此方案假設登錄失敗。但是正從服務器的響應後,當我再次嘗試發送日誌信息我得到
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;}
}
哪一行是您獲得此例外的地方?發佈異常跟蹤會有所幫助。 – Santosh
當循環進行第二次迭代時,我收到異常。並嘗試第二次寫東西。 –