2.1 传统的BIO编程

2014-07-09 12:30:45 · 作者: · 浏览: 127

第2章 NIO入门

在本章中,我们会分别对JDK的BIO、NIO和JDK1.7最新提供的NIO2.0的使用进行详细说明,通过流程图和代码讲解,让大家体会到随着Java I/O类库的不断发展和改进,基于Java的网络编程会变得越来越简单,随着异步I/O功能的增强,基于Java NIO开发的网络服务器甚至不逊色于采用C++开发的网络程序。

本章主要内容包括:

传统的同步阻塞式I/O编程

基于NIO的非阻塞编程

基于NIO2.0的异步非阻塞(AIO)编程

为什么要使用NIO编程

为什么选择Netty

2.1  传统的BIO编程

网络编程的基本模型是Client/Server模型,也就是两个进程之间进行相互通信,其中服务端提供位置信息(绑定的IP地址和监听端口),客户端通过连接操作向服务端监听的地址发起连接请求,通过三次握手建立连接,如果连接建立成功,双方就可以通过网络套接字(Socket)进行通信。

在基于传统同步阻塞模型开发中,ServerSocket负责绑定IP地址,启动监听端口;Socket负责发起连接操作。连接成功之后,双方通过输入和输出流进行同步阻塞式通信。

下面,我们就以经典的时间服务器(TimeServer)为例,通过代码分析来回顾和熟悉下BIO编程。
 

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:342347198