如何通过TCP套接字连接重定向进程的输入和输出? (Java)的

时间:2013-03-02 22:47:45

标签: java sockets tcp process

我想知道如何通过TCP连接从服务器端重定向系统进程的输入和输出。这将导致客户端能够与所述流程进行交互。

到目前为止,我知道如何实际建立一个简单的TCP连接,并且我可以使用getInputStream()getOutputStream()方法获取连接套接字的输入和输出流。

我还可以使用ProcessBuilder.start()getInputStream()方法获取流程的输出和输入流(在通过getOutputStream()方法初始化流程之后)。

所以我最终得到了两组输入和输出流。我想知道的是如何连接(可能在这里使用错误的单词)Process的输出和输入流与连接套接字的输出流,以便TCP连接另一端的客户端可以与之交互过程。

如果重要,我正在使用BufferedInputStreamBufferedOutputStream s。

非常感谢有关此问题的任何信息,谢谢!

1 个答案:

答案 0 :(得分:0)

要将进程的输出流重定向到套接字,请尝试以下代码

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()以获取错误和输入流!