JAVA------15.mima 网络应用程序搭建

Posted on 2017-05-22 16:00  奇思妙想的香菜  阅读(562)  评论(0编辑  收藏  举报

所有jar包

 

jar包:链接:http://pan.baidu.com/s/1o8r0eYu 密码:thb0

服务端程序:

 

 

import java.io.IOException;
import java.net.InetSocketAddress;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.charset.Charset;
 
import org.apache.mina.core.service.IoAcceptor;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
import org.apache.mina.filter.logging.LoggingFilter;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;

public class MinaTimeServer {
     private static final int PORT= 9123;
        public static void main(String[] args) {
            //socket接收器
            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 TimeServerHandler()
     );
            //设置读取数据缓存单位byte 
            acceptor.getSessionConfig().setReadBufferSize(2048 );
            //设置多长时间后接收器开始空闲
            acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 10 );
            try {
                //绑定某个端口,作为数据入口 
                acceptor.bind(new InetSocketAddress(PORT)
     );
            }catch (IOException e) {
                e.printStackTrace();
            }
        }
}

 

cmd 启动当客户端 访问端口号

telnet不是内部或外部命令 解决办法:http://jingyan.baidu.com/article/6525d4b1377913ac7d2e94eb.html

 

 

接下来,我们把server类,run起来,我们模拟下tcp调用,打开cmd命令行:C:\Users\xiao>telnet 127.0.0.1 9123

 

连接服务器,输入hello...

 

 

 

 

 

 https://m.baidu.com/from=844b/bd_page_type=1/ssid=0/uid=0/pu=sz%401320_2001%2Cta%40iphone_1_10.0_3_602%2Cusm%403/baiduid=32776D67809A9D4476A725398D472264/w=10_10_/t=iphone/l=3/tc?ref=www_iphone&lid=12124893284401684886&order=3&fm=alop&tj=www_normal_3_10_10_title&vit=osres&m=8&srd=1&cltj=cloud_title&asres=1&nt=wnor&title=ApacheMina(%E4%B8%80)-Kyle_Java-%E5%8D%9A%E5%AE%A2%E5%9B%AD&dict=30&w_qd=IlPT2AEptyoA_yisJU7g&sec=21194&di=7d79c84b70d5bdda&bdenc=1&tch=124.133.316.542.1.503&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_ytK1DK6mlrte4viZQRASiLqK7_NZpPPxXCBeMZHdWGdWWQm7B2OrxposH9hbX8fgPq3gRy_GBwPeRsw4tv3&eqid=a8444633a44820001000000259224a6b&wd=&clk_info=%7B%22srcid%22%3A%221599%22%2C%22tplname%22%3A%22www_normal%22%2C%22t%22%3A1495419503664%2C%22sig%22%3A%224546%22%2C%22xpath%22%3A%22div-a-h3%22%7D&sfOpen=1

 官方文档:

 http://mina.apache.org/mina-project/quick-start-guide.html