2017-11-29 1 views
2

Ich versuche, Byte-Array auf die CTX in Netty mit dem unten genannten Weg zu schreiben, aber ich bin nicht in der Lage. Ich verwende ChannelInboundHandlerAdapter.Netty Kanal schreiben und flush nicht schreiben Nachricht

ByteBuf mbuf = ctx.alloc().buffer(); 
    mbuf.setByte(0, 69); 
    mbuf.setByte(1, 70); 
    mbuf.setByte(2, 71); 
    ctx.writeAndFlush(mbuf); 

In den Protokollen zeigt es unter:

28. November 2017 19.52.16 io.netty.handler.logging.LoggingHandler schreiben INFO: [id: 0x391dced5, L: /127.0 .0.1: 3978 - R: /127.0.0.1: 52306] WRITE: 0B

Fehle ich hier etwas?

Dank

Antwort

4

Das Problem wird Ihr Puffer „leer“ betrachtet, weil seine writerIndex nicht geändert wird, wenn Sie die setByte Methode verwenden. Verwenden Sie stattdessen writeByte oder andere writeXXX Methoden. Diese bringen den writerIndex voran, was bedeutet, dass Netty sehen kann, dass tatsächlich etwas in den Puffer geschrieben wurde.

+0

Dank Ben. Lass es mich versuchen. – user2766839

Verwandte Themen