актуализация в java9: https://docs.oracle.com/javase/9/docs/api/java/io/InputStream.html#transferTo-java.io.OutputStream-
Видях подобни теми, но не точно от това, което ми трябва.
Имам сървър, който основно ще приема информация от клиент, клиент A, и ще я препраща, байт по байт, към друг клиент, клиент B.
Бих искал да свържа моя входен поток на клиент A с моя изходен поток на клиент B. Възможно ли е това? Какви са начините да направите това?
Освен това тези клиенти си изпращат съобщения, които са донякъде чувствителни към времето, така че буферирането няма да свърши работа. Не искам буфер от да речем 500 и клиентът изпраща 499 байта и след това сървърът ми задържа препращането на 500 байта, защото не е получил последния байт за запълване на буфера.
В момента анализирам всяко съобщение, за да намеря дължината му, след това чета байтове с дължина и след това ги препращам. Реших (и тествах), че това би било по-добре от четене на байт и препращане на байт отново и отново, защото това би било много бавно. Също така не исках да използвам буфер или таймер поради причината, която посочих в последния си абзац — не искам съобщенията, чакащи много дълго време, да преминат, просто защото буферът не е пълен.
Какъв е добър начин да направите това?