gpt4 book ai didi

BufferedReader 上的 Java 客户端套接字阻塞?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:52:16 24 4
gpt4 key购买 nike

我使用的是老式 java.net.Socket

我的客户端连接到服务器并执行:

BufferedReader in =
new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String fromServer = in.readLine();

它卡在 in.readLine() 处。

我的服务器接受来自客户端的连接并执行:

PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.print("Hello client\n");

我的期望是尽快 out.print("Hello client\n");被调用,客户端应该停止阻塞并继续。

我做错了什么?

PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in =
new BufferedReader( new InputStreamReader(clientSocket.getInputStream()));
String fromServer = in.readLine();

最佳答案

我猜你没有调用 out.flush(); 请参阅 PrintWriter.flush

来自 Javadoc

autoFlush - A boolean; if true, the println, printf, or format methods will flush the output buffer

因此 Autoflushprint 不起作用,您需要手动调用 flush()

关于BufferedReader 上的 Java 客户端套接字阻塞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13039318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com