[英]How to redirect input and output of a Process over a TCP socket connection? (java)
我想知道如何从服务器端通过TCP连接重定向系统进程的输入和输出。 这将导致客户端能够与所述过程进行交互。
到目前为止,我知道如何实际建立一个简单的TCP连接,并且可以使用getInputStream()
和getOutputStream()
方法获取连接套接字的输入和输出流。
我还可以使用其getInputStream()
和getOutputStream()
方法获取Process的输出和输入流(通过ProcessBuilder.start()
方法初始化该过程之后getOutputStream()
。
因此,我最终得到了两组输入和输出流。 我想知道的是如何将Process的输出流和输入流与连接套接字的输出流连接(此处可能使用错误的词),以便TCP连接另一侧的客户端可以与过程。
如果重要的话,我正在使用BufferedInputStream
和BufferedOutputStream
。
非常感谢您提供有关此问题的任何信息,谢谢!
要将进程的输出流重定向到套接字,请尝试以下代码
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()以获得错误流和输入流!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.