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

来源:-

我是猫_夏

2019-08-22 21:24

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();
}

这段也是?

写回答 关注

1回答

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

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

解锁网络编程之NIO的前世今生

解锁网络编程的“乾坤大挪移”-NIO。

32232 学习 · 33 问题

查看课程

相似问题