3

サーバー側からTCP接続を介してシステムプロセスの入力と出力をリダイレクトする方法を知りたいです。これにより、クライアントは上記のプロセスと対話できるようになります。

これまでのところ、単純なTCP接続を実際に確立する方法を知っており、getInputStream()andgetOutputStream()メソッドを使用して接続ソケットの入力ストリームと出力ストリームを取得できます。

また、メソッドとメソッドProcessBuilder.start()を使用して、プロセスの出力ストリームと入力ストリームを取得することもできます(メソッドを介してプロセスを初期化した後) 。getInputStream()getOutputStream()

したがって、2セットの入力ストリームと出力ストリームになります。私が知りたいのは、プロセスの出力ストリームと入力ストリームを接続ソケットの出力ストリームに接続する方法(ここでは間違った単語を使用している可能性があります)です。これにより、TCP接続の反対側のクライアントが対話できるようになります。プロセス。

重要な場合は、BufferedInputStreamsとBufferedOutputStreamsを使用しています。

この問題に関する情報は大歓迎です、ありがとう!

4

1 に答える 1

-1

プロセスの出力ストリームをソケットにリダイレクトするには、次のコードを試してください。

System.setOut( new PrintStream(mySocket.getOutputStream(),true))

http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#setOut%28java.io.PrintStream%29 にアクセス してください。

同様に、エラー ストリームと入力ストリームについて、それぞれ System.setErr() と System.setIn() を調べてください。

于 2015-03-05T12:59:54.050 に答える