java
fine_adj
守得住繁华,耐得住寂寞
展开
-
NIO Buffer与Channel实现文件IO
NIO提供的Channel表示与file或socket唯一关联,可以理解成程序通过Buffer将数据写入channel就表示将数据写入了file或socket,从channel中将数据读入Buffer就表示从file或socket中读取了数据到程序中。BIO是同步阻塞的,NIO是同步非阻塞的,通过将与socket唯一关联的channel注册到Selector,通过select()轮询,实现同步非阻塞。而AIO才是真正异步非阻塞的,异步表示实际的IO操作是由操作系统完成的,而不是程序完成的,操作系统完成..原创 2020-12-17 11:02:21 · 222 阅读 · 1 评论 -
NIO同步非阻塞Selector轮询实现网络socket
NIO同步非阻塞服务器端代码package niodemo.niochat;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.*;import java.nio.charset.Charset;import java.util.Iterator;import java.util.Set;//如下的代码就实现原创 2020-12-16 18:19:20 · 357 阅读 · 1 评论 -
BIO阻塞的Socket实现一个服务器与多个客户端广播通信
传统的网络IO服务器端:ServerSocekt类,accpet()方法默认是阻塞监听的。所以没、每当监听到一个客户端的socekt连接请求,都开启一个新线程,新建一个socekt进行一对一的与客户端通信。客户端:主动发起Socket连接请求,...原创 2020-12-16 16:57:37 · 360 阅读 · 0 评论