簡體   English   中英

BufferedReader 卡在讀取上。 無法從 Socket 讀取

[英]BufferedReader stuck on read. Wont read from Socket

這里

try
{
    System.out.println("testIN");
    Socket socket = new Socket("10.0.0.16", 8090);
    while (socket.isConnected())
    {
        PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()), true);
        printWriter.println("[05]");
        printWriter.println("\n");
        System.out.println(printWriter.checkError());
        Thread.sleep(5000);
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        if(bufferedReader.ready())
            System.out.println("READ: "+bufferedReader.read());
        else
            System.out.println("error");
        bufferedReader.close();
        socket.close();
        break;
    }
} catch(Exception e) {
        System.out.println(e);
}

需要更改什么才能讀取服務器的響應。 我無權訪問服務器的代碼,它在本地托管。

嘗試這個

try {
        System.out.println("testIN");
        Socket socket = new Socket("10.0.0.16", 8090);
        while (socket.isConnected()) {
            PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()), true);
            printWriter.println("[05]");
            printWriter.println("\n");
            System.out.println(printWriter.checkError());
            Thread.sleep(5000);
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));

            String data = null;
            if ((data = bufferedReader.readLine()) != null)
                System.out.println("READ: " + data);
            else
                System.out.println("error");
            bufferedReader.close();
            socket.close();
            break;
        }

    } catch (Exception e) {
        System.out.println(e);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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