Класс c расширяет поток
static Queue<Socket> socketQueue
Make connection to another server or client
And then add socket to socketqueue
Класс расширяет поток
method a
bufferedinputstream bis = socketQueue.poll
Do work
Make bis null without closing it<br>
Класс В расширяет поток
Method b
Bufferedinputstream bis = socketqueue.poll
Do work
Make bis null without closing it
Я сделал поток буферизованного ввода нулевым, поскольку не хочу закрывать подключенный сокет. В нескольких сообщениях говорилось, что закрытие потока ввода-вывода также закроет сокет.
Всякий раз, когда я использую поток ввода / вывода с сокетом, я обычно закрываю поток и сокет, если он не равен нулю.
То, что я пытаюсь сделать здесь, - это оживить сокет и использовать его повторно, когда требуется входной или выходной поток, без повторного подключения.
Я попробовал socket.shutdowninput и output, однако это выдает исключение, когда я создаю другой поток ввода / вывода с сокетом.
Есть ли что-то, что я неправильно понял или отсутствует в этой точке?