Если вы знакомы с использованием Java Selector, вы можете эмулировать время ожидания сокета самостоятельно, используя селектор. Полезно увидеть sun.nio.ch.SocketAdaptor.
Следует осторожно использовать Thread.interrupt ().
SocketChannel является InterruptibleChannel. Когда вы читаете описание InterruptibleChannel, Thread.interrupt () вызывает close SocketChannel.
Если вы хотите использовать SocketChannel после истечения времени ожидания, вы не можете использовать функцию InterruptibleChannel.