簡體   English   中英

Java Socket BufferedReader Null

[英]Java Socket BufferedReader Null

public static void main(String[] args) throws IOException {
    String hostName = "127.0.0.1";
    int portNumber = 4848;
    Socket echoSocket = new Socket(hostName, portNumber);
    PrintWriter out = new PrintWriter(echoSocket.getOutputStream(), true);
    BufferedReader in = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
    BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
    String userInput;
    while ((userInput = stdIn.readLine()) != null) {
        out.println(userInput);
        System.out.println("echo: " + in.readLine());
    }
}

它應該通過將它發送到套接字並再次從套接字獲取它來回顯你寫的內容。 發生的情況是,當我輸入內容並按 Enter 時,大約需要 10 秒,然后顯示echo: null

預期的

輸入

測試

輸出

回聲:測試

現實

輸入

測試

輸出

回聲:空

我的問題是:

  • 我在做什么菜鳥錯誤?
  • 我如何解決它?

    評論前閱讀

    我需要測試套接字的功能。 通過做一些像這樣簡單的事情,它可以幫助我理解如何使用它們。 我想創建一個實時聊天服務器。 但是,如果這個簡單的程序不起作用,我就不能。 我沒有愚蠢到不使用 userInput。 我知道。

問題是我在同一個Thread上訪問echoSocketInputStreamOutputStream

暫無
暫無

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

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