Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Sockets, BufferedReader close / 5 сообщений из 5, страница 1 из 1
15.02.2018, 18:08
    #39602580
daunito
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sockets, BufferedReader close
У меня есть класс игрока, в котором хранится сокет, через который происходит обмен информацией. В одном методе мне нужно обменяться сообщениями с клиентом, поэтому создаю ридер/райтер
Код: java
1.
2.
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));

перед выходом из метода вызываю close() у in и out, после чего соединение с клиентом обрывается. На SOF прочитал, что при закрытии Reader/Writer закрываются все стримы-исходники вплоть до сокета. В связи с этим вопрос, а как тогда нужно делать? Если не закрывать in и out, а просто выйти, а затем уже в другом методе создать их заново, не будет ли утечки?
...
Рейтинг: 0 / 0
15.02.2018, 18:19
    #39602587
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sockets, BufferedReader close
Ответ кроется в вопросе, если вам в данном методе не нужно закрывать сокеты, то и создавать стримы в этом методе вам тоже не нужно.
...
Рейтинг: 0 / 0
15.02.2018, 18:49
    #39602613
daunito
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sockets, BufferedReader close
то есть, Reader/Writer создаются один раз извне, а потом везде таскаются через приложение?
...
Рейтинг: 0 / 0
15.02.2018, 19:22
    #39602630
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sockets, BufferedReader close
daunitoто есть, Reader/Writer создаются один раз извне, а потом везде таскаются через приложение?
Инкапсуляция? Не, не слышал. Нет, не таскаются через приложения. Есть единственный класс, который реализует TCP транспорт. Его задача читать, писать, открывать, закрывать, поддерживать открытым, а так же перенаправлять данные в сериализатор и в события.
...
Рейтинг: 0 / 0
16.02.2018, 00:53
    #39602684
unregestered
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sockets, BufferedReader close
daunitoЕсли не закрывать in и out, а просто выйти, а затем уже в другом методе создать их заново, не будет ли утечки?

Конечно будет, утечка файловых дескрипторов в линухе - весьма неприятная ситуация
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Sockets, BufferedReader close / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]