gpt4 book ai didi

java - 它不会从服务器返回任何内容!

转载 作者:行者123 更新时间:2023-11-30 05:14:31 25 4
gpt4 key购买 nike

我有 2 个重要的类(客户端和服务器),我将在文本区域中写一些内容,然后通过单击发送按钮,我将调用客户端类的 Activity 方法,并将该文本发送到我的客户端类,一切正常,该文本也将打印在服务器控制台上,但我无法将该文本从服务器回显到客户端,请帮助我,谢谢。

客户端类:(其中一部分)

 os = new PrintWriter(c.getOutputStream(), true);


is = new BufferedReader(new InputStreamReader(c.getInputStream()));

public static void active() {

String teXt = MainClient.getText();

os.println(teXt);

String line = is.readLine();
System.out.println("Text received: " + line);
os.flush();
is.close();
is.close();
c.close();

服务器类:(其中一部分)

      BufferedReader streamIn = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter streamOut =new PrintWriter(client.getOutputStream());
boolean done = false;
String line =null;
while (!done ) {

line = streamIn.readLine();
if (line.equalsIgnoreCase("bye")) {
done = true;
} else {
System.out.println(line);
streamOut.println(line);
}
}

streamIn.close();
client.close();
server.close();

最佳答案

实际上 Nettogrof 正在走正确的道路,但您还必须刷新服务器端:

        line = streamIn.readLine();
if (line.equalsIgnoreCase("bye")) {
done = true;
} else {
System.out.println(line);
streamOut.println(line);
streamOut.flush(); // or ...checkError();
}

或者只是创建 PrintWriter,并将 autoFlush 设置为 true:

    PrintWriter streamOut = new PrintWriter(client.getOutputStream(), true);

注意一点:您还应该测试 readLine() 是否返回 null,因为客户端将关闭连接而不发送“再见”。

第二个注意事项:PrintWriter 的实例永远不会抛出 IOException,您应该测试调用 checkError() 的错误,这也会刷新流。

关于java - 它不会从服务器返回任何内容!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2084364/

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