簡體   English   中英

BufferedReader在與套接字連接后未引發異常

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM