在java9中更新:https://docs.oracle.com/javase/9/docs/api/java/io/InputStream.html#transferTo-java.io.OutputStream-
我看到了一些类似的,但不完全是我所需要的线程。
我有一个服务器,它基本上会从一个客户端(客户端A )获取输入,然后逐字节地将其转发到另一个客户端(客户端B )。
我想把客户端A的输入流和客户端B的输出流连接起来,可以吗?有什么方法可以做到这一点呢?
此外,这些客户端相互发送消息,这在一定程度上是时间敏感的,所以缓冲不起作用。我不想要一个比方说500的缓冲区,而客户端发送了499个字节,然后我的服务器延迟转发这500个字节,因为它还没有收到填充缓冲区的最后一个字节。
现在,我正在解析每个消息以找到它的长度,然后读取长度字节,然后转发它们。我认为(并测试)这将比读取一个字节并一遍又一遍地转发一个字节要好,因为那样会非常慢。我也不想使用缓冲区或计时器,因为我在上一段中说明了原因-我不希望消息仅仅因为缓冲区未满而等待很长时间才能通过。
有什么好方法可以做到这一点呢?
https://stackoverflow.com/questions/1574837
复制相似问题