问答详情
源自:-

Channel不是只能通过Buffer进行操作吗

socketChannel.write(Charset.forName("utf-8").encode(nickName + ": " + request));

课程中的这个代码不就没有用到Buffer吗

try{
    ((SocketChannel) targetChannel).write(Charset.forName("utf-8").encode(request));
} catch (IOException e) {
    e.printStackTrace();
}

这段也是?

提问者:我是猫_夏 2019-08-22 21:24

个回答

  • 张小喜
    2019-09-04 21:45:25

    你看socketChannel.write(这里接收一个ByteBuffer对象)。encode(nickName...)这里也返回的是一个ByteBuffer对象。所以还是在借助byteBuffer来操作socketChannel的。