NIO缺点:
NIO服务器端是在一个线程下运行,当有多个请求时,将会排队操作,但进行大并发量大数据量读写时,会导致其他请求无法处理,因此考虑将NIO的读写单独用线程处理。
1、NIO 基础
http://tenyears.iteye.com/blog/40489
2、NIO多线程实现
http://www.ibm.com/developerworks/cn/java/l-niosvr/
3、传输对象
先将对象序列号,然后再客户端反序列化
server端:
客户端
NIO服务器端是在一个线程下运行,当有多个请求时,将会排队操作,但进行大并发量大数据量读写时,会导致其他请求无法处理,因此考虑将NIO的读写单独用线程处理。
1、NIO 基础
http://tenyears.iteye.com/blog/40489
2、NIO多线程实现
http://www.ibm.com/developerworks/cn/java/l-niosvr/
3、传输对象
先将对象序列号,然后再客户端反序列化
server端:
Map map = new HashMap();
ByteArrayOutputStream bo = new ByteArrayOutputStream();
try
{
ObjectOutputStream os = new ObjectOutputStream(bo);
os.writeObject(map);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
客户端
//buffer来自于NIO接收的数据
ByteArrayInputStream bi = new ByteArrayInputStream(buffer);
ObjectInputStream oi = new ObjectInputStream(bi);
Map map = (Map)oi.readObject();