有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

c如何在Java中通过socket获取错误流?

我目前正在写一些东西来解决这个Java错误:

http://bugs.sun.com/view_bug.do?bug_id=5049299

基本上,我有一个轻量级的C服务器,它与Java服务器运行在同一台机器上。我正在向C服务器添加一个特性,当我可以通过socket请求它分叉/运行一个新进程并传回stdin/stdout/stderr时。在Java方面,我创建了一些类似于ProcessBuilderRuntime.exec()行为的东西,但是通过socket

问题出现在stderr上。Javasocket没有错误流,所以对于如何恢复它,我有点不知所措。我提出了两种可能的解决方案:

  1. 创建第二个socket(可能是 从C服务器回到Java服务器 服务器)我刚才在哪里发送stderr 回来
  2. 交错输出 使用 处理,然后在 Java返回到不同的流中

这两种解决方案都有固有的问题,所以我很乐意听取任何人的反馈

奖励:给我一个简单、有保证的Java bug解决方案,它不需要我做任何这些,我将永远是你最好的朋友


共 (1) 个答案

  1. # 1 楼答案

    为了解决这个问题,我利用了两台服务器在同一台机器上运行的事实。我只是将stderr写入另一台服务器读取的文件中。这不是世界上最优雅的解决方案,但非常简单,而且有效