非阻塞的Socket
编写过socket的程序员都知道ServerSocket的accept()是阻塞的。所谓阻塞,在代码中的体现就是该语句不会返回,直到有新连接到来。但是阻塞模式会影响到服务器的可伸缩性,在JDK1.4中增加的nio包对io进行了扩充,提供了非阻塞的模式。
下面模拟一个服务器和客户端交互的例子。服务器端采用非阻塞的socket:
你好,再见!遗失对主机的连接。