【问题标题】:How can I get an error stream over a socket in Java?如何通过 Java 中的套接字获取错误流?
【发布时间】:2010-07-23 21:04:08
【问题描述】:

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

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

基本上,我有一个轻量级的 C 服务器,它与 Java 服务器在同一台机器上运行。当我可以请求它通过套接字分叉/运行一个新进程并传回标准输入/标准输出/标准错误时,我正在向 C 服务器添加一个功能。在 Java 方面,我创建了一些模仿 ProcessBuilderRuntime.exec() 行为的东西,但在套接字上。

stderr 出现问题。 Java 套接字没有错误流,所以我对如何恢复它有点茫然。我提出了两种可能的解决方案:

  1. 创建第二个套接字(可能 从 C 服务器回到 Java 服务器)在哪里我只是发送stderr 回来。
  2. 交错输出 带有 stderr 的进程 处理然后将它们分开解析 Java 回到单独的流中

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

奖励:给我一个简单的、有保证的 Java 错误解决方案,不需要我做任何事情,我将永远是你最好的朋友。

【问题讨论】:

    标签: java c sockets


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多