Ребят, всем привет. Делаю простенкий TCP Relay. Делаю accept на Server socket, получаю обычный, потом создаю еще один обычный сокет и подключаюсь к http серверу. Потом просто копирую из inputstream одного сокета в outputstream другого и наоборот. Причем код копирования каждый рас запускается в отдельном Runnable на Executor-e. Но если на сокеты не сетать timeout, то через несколько запросов (как понимаю просто треды заканчиваются в executor-е) очередной начинает висеть. Дебажнул и такое впечатление, что блокируется на чтении из http сервера обратно на клиент. Тоесть http server -> tcp relay -> client.
Никак не хочется подниматься на уровень http, так как хочу сделать tcp relay универсальным (то есть не важно будет какой протокол будет работать наверху tcp). Или сейчас так не делают или по каким-то причинам, мне неизвестным, это невозможно? Заранее большое спасибо за ответ.
А буферизация на сокетах точно отсутствует?
Попробуй не хттп гонять, а для отладки простым неткатом зацепись