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(); }
这段也是?
你看socketChannel.write(这里接收一个ByteBuffer对象)。encode(nickName...)这里也返回的是一个ByteBuffer对象。所以还是在借助byteBuffer来操作socketChannel的。