赞
踩
一个简单的echo服务器,客户端向服务端发送消息,服务端进行响应,当客户端发送quit字符串时,断开客户端和服务端的连接。使用NIO实现
服务端代码
- public class EchoServer_NIO {
- private Selector selector;
- private ByteBuffer sendBuf = ByteBuffer.allocate(1024);
- private ByteBuffer recBuf = ByteBuffer.allocate(1024);
- public EchoServer_NIO(){
- try {
- System.out.println("服务器正在启动");
- selector = Selector.open();
- ServerSocketChannel ssc = ServerSocketChannel.open();
- //设置非阻塞模式
- ssc.configureBlocking(false);
- //绑定端口
- ssc.bind(new InetSocketAddress(8777));
- ssc.register(selector, SelectionKey.OP_ACCEPT);
- System.out.println("服务器启动成功");
- } catch (Exception e) {
- e.printStackTrace();
- System.out.println("服务器启动失败");
- }
- }
-
- public static void main(String[] args) {
- new EchoServer_NIO().service();
- }
-
- public void service(){
- while (true){
- try {
- int select = selector.select();
- if (select>0){
- Set<SelectionKey> selectionKeys = selector.selectedKeys();
- Iterator<SelectionKey> iterator = selectionKeys.iterator();
- while (
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。