NIO
辉少_
这个作者很懒,什么都没留下…
展开
-
Java-NIO-网络通信-阻塞
使用NIO完成网络通信的三个核心 * 1. 通道(Channel):负责连接 * java.nio.channels.Channel 接口: * |--SelectableChannel * |--SocketChannel * |--ServerSocketChannel原创 2017-10-19 17:05:52 · 232 阅读 · 0 评论 -
Java-NIO-Buffer-笔记
一、缓冲区(Buffer):在Java NIO中负责数据的存取。 缓冲区的底层是数组,所以根据数据类型(boolean除外)的不同的提供了相应的缓冲区,如下 ByteBuffer、ShortBuffer、IntBuffer、LongBuffer、FloatBuffer、DoubleBuffer、CharBuffer 二、缓冲区中两个核心方法 put() 存入数据到缓原创 2017-10-19 11:48:47 · 154 阅读 · 0 评论 -
Java-NIO-Channel-笔记
一、通道(Channel):用于源节点与目标节点的连接。 * 在Java-NIO中负责缓冲区数据的传输。Channel本身不存储数据,需要配合缓冲区进行传输。 * 二、通道的主要实现类 * java.nio.channels.channel 接口: * |---FileChannel * |---SocketChannel *原创 2017-10-19 16:16:32 · 319 阅读 · 0 评论 -
使用Channel、Buffer、Selector完成网络通信--非阻塞(一)
//客户端 @Test public void client() throws IOException{ //1. 获取通道 SocketChannel socketChannel = SocketChannel.open(new InetSocketAddress("127.0.0.1",8989)); //2. 切换非阻塞模式 socketChannel.con原创 2017-10-20 10:03:37 · 464 阅读 · 0 评论 -
使用Channel、Buffer、Selector完成网络通信--非阻塞(二)
发送端 public void send() throws IOException{ DatagramChannel dc = DatagramChannel.open();//获取通道 dc.configureBlocking(false);//切换阻塞模式 ByteBuffer byteBuffer = ByteBuffer.allocate(1024); Scanner scann原创 2017-10-20 11:30:12 · 177 阅读 · 0 评论 -
使用管道Pipe 完成数据传输
public void test() throws IOException{ //1.获取管道 Pipe pipe = Pipe.open(); //2.将缓冲区的数据写入管道 ByteBuffer byteBuffer = ByteBuffer.allocate(1024); Pipe.SinkChannel channel1 = pipe.sink();原创 2017-10-20 14:02:10 · 2766 阅读 · 0 评论