Java NIO Server

Atualmente, estou trabalhando em um servidor Java NIO (single-threaded) e encontrei alguns problemas. O servidor aceita conexões de entrada, grava pacotes iniciais (o pacote contém alguns dados que o cliente usa para comunicação adicional) nos clientes, mas não os lê. O servidor tenta ler apenas quando eu fecho o cliente e, é claro, ele retorna -1.

Ao aceitar a conexão, ela está sendo registrada em:

selectionKey = socketChannel.register(_selector, SelectionKey.OP_READ)

selectionKey.isReadable() retornafalse (deveria?

Antes de enviar o pacote inicial, as operações são alteradas para:

_selectionKey.interestOps(_selectionKey.interestOps() | SelectionKey.OP_WRITE)

Depois de enviar o pacote inicial, as operações são alteradas para:

selectedKey.interestOps(selectedKey.interestOps() & ~SelectionKey.OP_WRITE)

pacote é enviad

Qual poderia ser o problema? Pode estar relacionado ao cliente?

questionAnswers(2)

yourAnswerToTheQuestion