繁体   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