socket-bio
传统的阻塞IO(blocking_io)的缺点:
1.服务器以阻塞方式处理客户端连接,所以服务器需要创建大量线程来处理客户端连接;线程的创建与销毁影响服务器性能
2.服务器需要维护已连接的客户端信息,遍历过程会消耗服务器性能
3.服务器以阻塞方式读取客户端信息,服务端会因客户端响应不及时而无法释放连接影响性
示例代码:
1 | private Map<String, Socket> clientSocketMap = new ConcurrentHashMap<>(); |
nio
使用nio API处理客户端请求示例
1 | package com.lixl.demo; |