Я пытаюсь написать простой код сокета, который имеет следующую базовую форму -
try(BufferedReader request = new BufferedReader(new InputStreamReader(sock.getInputStream()))){
//Do some work...
}
//BufferedReader gets closed, but also makes the socket close
...
...
response.write(blah);//Causes exception because socket is closed
Моя проблема в том, что сокет закрывается, но я не думаю, что это должно быть. Try-with-resources создает BufferedReader, а затем автоматически закрывает его, когда я выхожу из блока try, но по какой-то причине он также закрывает весь сокет! Поэтому, когда я позже перейду к своему коду ответа, который использует тот же сокет, я получаю исключение. Есть ли способ исправить это? Или мне просто нужно не использовать попытку с ресурсами (что было бы не идеально)?