[英]BufferedReader in not throwing an exception after connection to socket ends
當按下按鈕時,我使用bufferedReader從客戶端中的服務器讀取輸出,效果很好,但是當連接關閉時我無法使用方法errorHandling進行連接-我在嘗試中包裝了(bufferedreader對象).readLine / catch,但它不會引發異常,連接失敗時out.checkError也不會返回true。 如果連接結束,該程序將完全凍結,並且不會達到最后的捕獲。
if(source==button) {
String back = "";
if(out.checkError()){
errorHandling("I/O Closed");
return;
}
switch(currentOp){
case(0):
out.println("R "+input.getText());
break;
case(1):
out.println("P "+input.getText());
break;
case(2):
out.println("M "+input.getText());
break;
}
try{
if((back=in.readLine())==null) throw new SocketServerException();
}
catch(Exception e){
errorHandling("I/O Closed");
return;
}
您描述的情況是不可能的。 因此,這沒有發生。 對等套接字必須仍然打開。 檢查您的觀察結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.