为了账号安全,请及时绑定邮箱和手机立即绑定

将输入流连接到输出流

将输入流连接到输出流

富国沪深 2019-11-29 10:56:39
在Java9中更新:https://docs.oracle.com/javase/9/docs/api/java/io/InputStream.html#transferTo-java.io.OutputStream-我看到了一些类似但不是很需要的线程。我有一台服务器,它基本上将从客户端A的客户端接收输入,并将其逐字节转发到另一个客户端B。我想将客户端A的输入流与客户端B的输出流连接。这可能吗?有什么方法可以做到这一点?而且,这些客户端正在互相发送消息,这在时间上有些敏感,因此不会进行缓冲。我不希望有500个缓冲区,而客户端发送499个字节,然后我的服务器推迟转发500个字节,因为它没有收到填充缓冲区的最后一个字节。现在,我正在解析每个消息以找到其长度,然后读取长度字节,然后转发它们。我认为(并测试)这比读取字节并一次又一次地转发字节要好,因为那会很慢。由于我在上一段中提到的原因,我也不想使用缓冲区或计时器-我不希望仅由于缓冲区未满而等待很长时间的消息才能通过。有什么好方法吗?
查看完整描述

3 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

只是使用怎么样


void feedInputToOutput(InputStream in, OutputStream out) {

   IOUtils.copy(in, out);

}

并完成它?


来自jakarta apache commons i / o库,该库已经被大量项目使用,因此您可能已经在类路径中包含了jar。


查看完整回答
反对 回复 2019-11-29
  • 3 回答
  • 0 关注
  • 449 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信