gpt4 book ai didi

Java - 使不同的类打印到客户端而不是 System.out

转载 作者:行者123 更新时间:2023-11-30 04:27:46 24 4
gpt4 key购买 nike

我正在将一个可以运行的单人游戏转换为通过网络运行。

这是一个在终端上运行的简单游戏。它只是使用程序输入/输出文本。

它有几个类,其中大部分打印到 System.out 或 System.err

但我想将这些消息发送到客户端,而不是在服务器系统上打印它们。

当套接字 i/o 是在一个类的主线程中进行时,我该如何做到这一点?

基本上我如何从其他类访问它?

    public static void main(String[] args) throws IOException {

ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(45444);
} catch (IOException e) {
System.err.println("Could not listen on port: 45444.");
System.exit(1);
}

Socket clientSocket = null;
try {
clientSocket = serverSocket.accept();
} catch (IOException e) {
System.err.println("Accept failed.");
System.exit(1);
}

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

最佳答案

您可以使用 System.setOut() 和 System.setErr() 将 STDOUT 和 STDERR 重定向到任意输出流(在您的情况下,网络 I/O流)。

关于Java - 使不同的类打印到客户端而不是 System.out,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15439402/

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