3
我正在使用一些在netty上實現的框架。我使用以下兩個選項從客戶端向服務器發送消息。我想這兩個片段應該向socket寫入相同的字節,它在服務器端的行爲是不同的。它有什麼不同?ByteBuffer vs ChannelBuffer
選項1:還好
ChannelBuffer buf = ChannelBuffers.buffer(1);
buf.writeByte(0x1c);
e.getChannel().write(buf);
選項2:失敗
ByteBuffer buf = ByteBuffer.allocate(1);
buf.put(0x1c);
e.getChannel().write(ChannelBuffers.wrappedBuffer(buf));
是的,現在它產生相同的結果。我在哪裏可以閱讀更多關於這個問題的性質。謝謝! –
@NikolayKuznetsov您可以在[docs](http://docs.oracle.com/javase/6/docs/api/java/nio/Buffer.html#flip())中找到一個簡單的解釋 – sebastian