网络编程
StanleyClinton
一个川大的弱弱的ACMER,加油整起走。
展开
-
Java NIO教程(五) 通道之间的数据传输
Java NIO教程(五) 通道之间的数据传输在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel。transferFrom()FileChannel的transferFrom()方法可以将数据从源通道传输到FileChannel中(译者注:翻译 2015-11-13 16:48:51 · 494 阅读 · 0 评论 -
Java NIO教程(十一)Pipe
Java NIO教程(十)PipeJava NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。这里是Pipe原理的图示:创建管道通过Pipe.open()方法打开管道。例如:1Pipe pipe =翻译 2015-11-14 00:49:26 · 665 阅读 · 0 评论 -
Java NIO教程(十)DatagramChannel
Java NIO教程(九)DatagramChannelJava NIO中的DatagramChannel是一个能收发UDP包的通道。因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入。它发送和接收的是数据包。打开 DatagramChannel下面是 DatagramChannel 的打开方式:DatagramChannel cha翻译 2015-11-14 00:46:47 · 520 阅读 · 0 评论 -
Java NIO教程(九)ServerSocketChannel
Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样。ServerSocketChannel类在 java.nio.channels包中。这里有个例子:ServerSocketChannel serverSocketChannel = ServerSocketChan翻译 2015-11-13 17:50:59 · 579 阅读 · 0 评论 -
Java NIO教程(二) Channel
Java NIO教程(一) 核心概述Java NIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:Channel的实现这翻译 2015-11-13 15:54:44 · 559 阅读 · 0 评论 -
Java NIO教程(六)Selector
Java NIO教程(六)SelectorSelector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。为什么使用Selector?仅用单个线程来处理多个Channels的好处是,只需要更少的线程来处理通道。事实上,可以只翻译 2015-11-13 17:25:09 · 481 阅读 · 0 评论 -
Java NIO教程(一) 核心概述
http://tutorials.jenkov.com/java-nio/overview.html翻译 2015-11-13 15:51:34 · 1401 阅读 · 0 评论 -
Java NIO教程(三) Buffer
Java NIO教程(三) BufferJava NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。下面是NIO Buffer相关的话题列表:Buffer的基本用法翻译 2015-11-13 15:58:47 · 500 阅读 · 0 评论 -
Java NIO教程(七)FileChannel
Java NIO教程(七)FileChannelJava NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。打开FileChannel在使用FileChannel之前,必须先打开它。但是,我们无法直接打开一个FileChannel,需要通过使用一个In翻译 2015-11-13 17:38:46 · 476 阅读 · 0 评论 -
Java NIO教程(四) Scatter & Gather
Java NIO教程(四) Scatter & GatherJava NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Channel将从Channel中翻译 2015-11-13 16:11:39 · 629 阅读 · 0 评论 -
Java NIO教程(八)SocketChannel
Java NIO教程(八)SocketChannelJava NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel:打开一个SocketChannel并连接到互联网上的某台服务器。一个新连接到达ServerSocketChannel时,会创建一个SocketChannel。打开 Soc翻译 2015-11-13 17:45:43 · 514 阅读 · 0 评论