1

動作中のシングルプレイヤーゲームをネットワーク上で実行するように変換しています。

これは、端末上で実行される単純なゲームです。プログラムでテキスト入力/テキスト出力するだけです。

いくつかのクラスがあり、そのほとんどはSystem.outまたはSystem.errに出力されます。

しかし、これらのメッセージをサーバーシステムに出力するのではなく、クライアントに送信したいと思います。

ソケットi/oが1つのクラスのメインスレッドで作成されている場合、どうすればこれを行うことができますか?

基本的に、他のクラスからこれにアクセスするにはどうすればよいですか?

    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;
4

1 に答える 1

2

System.setOut()andを使用しSystem.setErr()て、STDOUT と STDERR を任意の出力ストリーム (この場合はネットワーク I/O ストリーム) にリダイレクトできます。

于 2013-03-15T18:17:23.413 に答える