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-09-04
你看socketChannel.write(這里接收一個ByteBuffer對象)。encode(nickName...)這里也返回的是一個ByteBuffer對象。所以還是在借助byteBuffer來操作socketChannel的。