private void acceptKey(SelectionKey key) {
		ChannelHandlerFactory factory = this.factoryMap.get(key);
		if (factory == null) {
			return;
		}
		try {
			ServerSocketChannel server = (ServerSocketChannel) key.channel();
			SocketChannel socket = (SocketChannel) server.accept();
			if (socket == null) {
				return;
			}
			socket.configureBlocking(false);
			if (!socket.finishConnect()) {
				socket.close();
				return;
			}
			dispatch(socket, factory);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}