首页 > 解决方案 > 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

预期的

输入

测试

输出

回声:测试

现实

输入

测试

输出

回声:空

我的问题是:

标签: javasocketsnullbufferedreader

解决方案


InputStream问题是我正在访问OutputStream同一.echoSocketThread


推荐阅读