我想知道如何通过TCP连接从服务器端重定向系统进程的输入和输出。这将导致客户端能够与所述流程进行交互。
到目前为止,我知道如何实际建立一个简单的TCP连接,并且我可以使用getInputStream()
和getOutputStream()
方法获取连接套接字的输入和输出流。
我还可以使用ProcessBuilder.start()
和getInputStream()
方法获取流程的输出和输入流(在通过getOutputStream()
方法初始化流程之后)。
所以我最终得到了两组输入和输出流。我想知道的是如何连接(可能在这里使用错误的单词)Process的输出和输入流与连接套接字的输出流,以便TCP连接另一端的客户端可以与之交互过程。
如果重要,我正在使用BufferedInputStream
和BufferedOutputStream
s。
非常感谢有关此问题的任何信息,谢谢!
答案 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()以获取错误和输入流!