Я пишу игровой сервер на Java, и я использую Netty 3.6.2. Игровые серверы не должны принимать HTTP-запросы, так как они просто обрабатывают данные клиентских клиентов (которые являются чисто байтами через TCP). Когда я загружаю http://server-ip:game-servers-port в Chrome, я загружаю файл с помощью рукопожатия с игрой (чего не должно произойти).Отключение запросов HTTP-протокола в Netty?
я привязку к порту игрового сервера так:
ChannelFactory factory = new NioServerSocketChannelFactory(Executors.newCachedThreadPool(), Executors.newCachedThreadPool());
clientAcceptor = new ServerBootstrap(factory);
clientAcceptor.setOption("child.tcpNoDelay", true);
clientAcceptor.setOption("child.keepAlive", false);
clientAcceptor.setPipelineFactory(() -> Channels.pipeline(new PacketDecoder(), new ClientHandler()));
clientAcceptor.bind(new InetSocketAddress(Configurations.CHANNEL_GAME_PORT));
И обрабатывать запросы в SimpleChannelHandler, как так
@Override
public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e) {
// Encryption key code.
Packets.sendHello(ctx.getChannel(), ivRecv, ivSend);
ctx.getChannel().setAttachment(client);
}
Как я могу идти о расшифровке, если входящий запрос с использованием протокол HTTP?
Редактировать: Следует также сказать, что он также должен блокировать любой протокол FTP, WebSocket и т. Д. (По существу, что-то, что не является протоколом игры) при подключении к каналу.
Протокол HTTP подробно описан в его RFC https://tools.ietf.org/html/rfc2616 –