Apache的Mina简单实例
发布时间:2020-12-15 00:18:07 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 // 创建客户端连接器. NioSocketConnector connector = new NioSocketConnector(); connector.getFilterChain().addLast("logger",new LoggingFilter(
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 // 创建客户端连接器. NioSocketConnector connector = new NioSocketConnector(); connector.getFilterChain().addLast("logger",new LoggingFilter()); // 设置编码过滤器 connector.getFilterChain().addLast( "codec",new ProtocolCodecFilter(new TextLineCodecFactory(Charset .forName("UTF-8")))); connector.setConnectTimeout(30); // 设置事件处理器 connector.setHandler(new ClientHandler()); // 建立连接 ConnectFuture cf = connector.connect(new InetSocketAddress("127.0.0.1",9100)); // 等待连接创建完成 cf.awaitUninterruptibly(); // 发送消息 cf.getSession().write("hello"); // 等待连接断开 cf.getSession().getCloseFuture().awaitUninterruptibly(); connector.dispose(); IoAcceptor acceptor = new NioSocketAcceptor(); acceptor.getFilterChain().addLast("logger",new LoggingFilter()); // 指定编码过滤器 acceptor.getFilterChain().addLast( "codec",new ProtocolCodecFilter(new TextLineCodecFactory(Charset .forName("UTF-8")))); // 指定业务逻辑处理器 acceptor.setHandler(new ServerHandler()); // 设置端口号 acceptor.setDefaultLocalAddress(new InetSocketAddress(9100)); // 启动监听 acceptor.bind(); server 处理器 class ServerHandler extends IoHandlerAdapter { @Override public void sessionCreated(IoSession session) { // 显示客户端的ip和端口 System.out .println(session.getRemoteAddress().toString() + " service"); } @Override public void messageReceived(IoSession session,Object message) throws Exception { String str = message.toString(); if (str.trim().equalsIgnoreCase("hello")) { // System.out.println(str + " client sent : hello"); // 结束会话 session.close(); return; } Date date = new Date(); // 返回当前时间的字符串 session.write(date.toString()); } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |