| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > java.nio.channels |
| Автор: altarasjuk 12.5.2003, 13:26 |
| Привет! К серверу подрубается клиент. туда - сюда, потом клиент обрывает коннект, но селектор возвращает SelectionKey этого коннекта, и соответственно при попытке работать с ним получаю Exception. Подскажите, плиз, как проверить закрыт ли Channel с другой стороны. Вот код: [CODE] ServerSocketChannel serverChannel = ServerSocketChannel.open(); ServerSocket serverSocket = serverChannel.socket(); Selector selector = Selector.open(); serverSocket.bind(new InetSocketAddress(PORT)); serverChannel.configureBlocking(false); serverChannel.register(selector, SelectionKey.OP_ACCEPT); while (true) { int n = selector.select(); Iterator it = selector.selectedKeys().iterator(); while (it.hasNext()) { SelectionKey key = (SelectionKey) it.next(); if (key.isAcceptable()) { ................................... } if (key.isReadable()) { ................................... } it.remove(); } } |
| Автор: DarkDS 12.5.2003, 14:10 |
| А Эксепшин какой? |
| Автор: altarasjuk 12.5.2003, 16:50 |
| да нечто вроде IOException |
| Автор: DarkDS 12.5.2003, 17:27 |
| тогда эта... key.isConnectable() или как вариант key.channel().isOpen() |
| Автор: altarasjuk 12.5.2003, 19:15 |
| сенкю |