Hallo Community,
ich sitze derzeit vor einem Problem, was sich einfach nicht lösen lassen möchte:
Ich schreibe derzeit ein Server-Client Applikation mit Netty und muss mehrer Pakete direkt hintereinander schicken. Diese wurden jedoch zusammengefasst, was im Decoder einen Fehler auslöst.
Da die Pakete ja über TCP verschickt werden, könnte man ja TCP_NODELAY und evtl. noch TCP_QUICKACK aktivieren und TCP_CORK deaktivieren. Damit die zu übertragenden Bytes nicht gepuffert, sondern direkt übertragen werden.
Auf meinem lokalen Rechner (Windows), funktionierte dies auch einwandfrei, doch nach dem ich es auf meinen Debian Rootserver hochgeladen habe, funktioniert es auf einmal nicht mehr.
Ich habe dann mein Netty Projekt auf Linux spezialisiert, indem ich nach diesem Schema die EventLoops ausgetauscht habe. Jedoch auch diese Maßnahme brachte nicht den gewünschten Erfolg.
Ich hoffe nun, mir kann jemand aus diesem Forum bei diesem Problem helfen
LG MrPyro13
ich sitze derzeit vor einem Problem, was sich einfach nicht lösen lassen möchte:
Ich schreibe derzeit ein Server-Client Applikation mit Netty und muss mehrer Pakete direkt hintereinander schicken. Diese wurden jedoch zusammengefasst, was im Decoder einen Fehler auslöst.
Da die Pakete ja über TCP verschickt werden, könnte man ja TCP_NODELAY und evtl. noch TCP_QUICKACK aktivieren und TCP_CORK deaktivieren. Damit die zu übertragenden Bytes nicht gepuffert, sondern direkt übertragen werden.
Auf meinem lokalen Rechner (Windows), funktionierte dies auch einwandfrei, doch nach dem ich es auf meinen Debian Rootserver hochgeladen habe, funktioniert es auf einmal nicht mehr.
Ich habe dann mein Netty Projekt auf Linux spezialisiert, indem ich nach diesem Schema die EventLoops ausgetauscht habe. Jedoch auch diese Maßnahme brachte nicht den gewünschten Erfolg.
Java:
this.workerGroup = new EpollEventLoopGroup();
this.bootstrap = new Bootstrap();
bootstrap.group(workerGroup)
.channel(EpollSocketChannel.class)
.option(EpollChannelOption.SO_KEEPALIVE, false)
.option(EpollChannelOption.TCP_CORK, false)
.option(EpollChannelOption.TCP_NODELAY, true)
.option(EpollChannelOption.TCP_QUICKACK, true)
.handler(new ChannelInitializer<SocketChannel>() {
@Override
public void initChannel(SocketChannel channel) throws Exception {
channel.pipeline().addLast(new PacketEncoder(), new PacketDecoder(),
new ClientPacketHandler(clientType, prefix, clientPort));
}
});
Ich hoffe nun, mir kann jemand aus diesem Forum bei diesem Problem helfen
LG MrPyro13