<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    夢幻之旅

    DEBUG - 天道酬勤

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
    1.server
    package server;

    import java.net.InetSocketAddress;

    import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder;
    import org.apache.mina.core.session.IdleStatus;
    import org.apache.mina.filter.codec.ProtocolCodecFilter;
    import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
    import org.apache.mina.transport.socket.SocketAcceptor;
    import org.apache.mina.transport.socket.nio.NioSocketAcceptor;

    public class MainServer
    {
        
    private static MainServer mainServer = new MainServer();
        
        
    private SocketAcceptor acceptor;
        
        
    private int bindPort = 8888;
        
        
    public static MainServer getInstances()
        
    {
            
    return mainServer;
        }

        
        
    private MainServer()
        
    {
            
    this.init();
        }

        
        
    private void init()
        
    {
            
    try
            
    {
                acceptor 
    = new NioSocketAcceptor();
                acceptor.getSessionConfig().setReadBufferSize(
    2048*3);
                acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 
    10);
                DefaultIoFilterChainBuilder chain 
    = acceptor.getFilterChain();
                chain.addLast(
    "myChain",new ProtocolCodecFilter(new ObjectSerializationCodecFactory())); 
                acceptor.setHandler(ServerHandler.getInstances());
                acceptor.bind(
    new InetSocketAddress(bindPort));
            }

            
    catch (Exception ex)
            
    {
                ex.printStackTrace();
            }

        }

        
        
    public void shutDown()
        
    {
            acceptor.dispose();
        }

        
        
    public static void main(String[] args) throws Exception
        
    {
            MainServer.getInstances();
        }

    }



    2.handler

    package server;

    import org.apache.mina.core.filterchain.IoFilterAdapter;
    import org.apache.mina.core.service.IoHandler;
    import org.apache.mina.core.session.IdleStatus;
    import org.apache.mina.core.session.IoSession;
    import org.apache.mina.transport.socket.SocketSessionConfig;

    public class ServerHandler extends IoFilterAdapter implements IoHandler
    {
        
    private static ServerHandler samplMinaServerHandler = new ServerHandler();
        
        
    public static ServerHandler getInstances()
        
    {
            
    return samplMinaServerHandler;
        }

        
        
    private ServerHandler()
        
    {}
        
        
    public void sessionOpened(IoSession session) throws Exception
        
    {
            System.out.println(
    "連接找開");
        }

        
        
    public void sessionClosed(IoSession session)
        
    {
            session.close(
    true);
            System.out.println(
    "關閉");
        }

        
        
    public void messageReceived(IoSession session, Object message)
                
    throws Exception
        
    {
            String msg 
    = (String) message;
            System.out.println(
    "收到的信息長度" + msg.length());
            session.write(
    "echo");
        }

        
        
    public void exceptionCaught(IoSession session, Throwable arg1)
                
    throws Exception
        
    {
            session.close(
    true);
        }

        
        
    public void messageSent(IoSession arg0, Object arg1) throws Exception
        
    {
            
    //System.out.println(arg1);
        }

        
        
    public void sessionCreated(IoSession session) throws Exception
        
    {
            SocketSessionConfig cfg 
    = (SocketSessionConfig) session.getConfig();
            cfg.setReceiveBufferSize(
    2 * 1024 * 1024);
            cfg.setReadBufferSize(
    2 * 1024 * 1024);
            cfg.setKeepAlive(
    true);
            cfg.setSoLinger(
    0);
        }

        
        
    public void sessionIdle(IoSession arg0, IdleStatus arg1) throws Exception
        
    {}
    }

    3.client
    package client;

    import java.net.InetSocketAddress;

    import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder;
    import org.apache.mina.core.future.ConnectFuture;
    import org.apache.mina.filter.codec.ProtocolCodecFilter;
    import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
    import org.apache.mina.transport.socket.nio.NioSocketConnector;

    public class MsgSender
    {
        
    private static MsgSender msgSender = new MsgSender();
        
        NioSocketConnector connector;
        
        DefaultIoFilterChainBuilder chain;
        
        
    public static MsgSender getInstances()
        
    {
            
    return msgSender;
        }

        
        
    private MsgSender()
        
    {
            connector 
    = new NioSocketConnector();
            chain 
    = connector.getFilterChain();
            chain.addLast(
    "myChain",new ProtocolCodecFilter(new ObjectSerializationCodecFactory())); 
            connector.setHandler(ClientHandler.getInstances());
            connector.setConnectTimeoutMillis(
    1000);
        }

        
        
    public void sendMsg(String host, int port, String msg)
        
    {
            
    //chain.addLast("codec", new ProtocolCodecFilter( new TextLineCodecFactory()));
            ConnectFuture cf = connector.connect(new InetSocketAddress(host, port));
            cf.awaitUninterruptibly();
            
    try
            
    {
               cf.getSession().write(msg);
            }

            
    catch (Exception ex)
            
    {
                ex.printStackTrace();
            }

            cf.getSession().getCloseFuture().awaitUninterruptibly();
        }

        
        
    public void shutDown()
        
    {
            connector.dispose();
        }

        
        
    public static void main(String args[])
        
    {
            StringBuffer s 
    = new StringBuffer();
            
    for(int i=0;i<100;i++)
            
    {
                s.append(i);
            }

            
    for(int i=0;i<200;i++)
            
    {
                MsgSender.getInstances().sendMsg(
    "127.0.0.1"8888, s.toString());
            }

        }

    }


    4.handler
    package client;

    import org.apache.mina.core.service.IoHandlerAdapter;
    import org.apache.mina.core.session.IoSession;

    public class ClientHandler extends IoHandlerAdapter
    {
        
    private static ClientHandler samplMinaClientHandler = new ClientHandler();
        
        
    public static ClientHandler getInstances()
        
    {
            
    return samplMinaClientHandler;
        }

        
        
    private ClientHandler()
        
    {
        }

        
        
    public void sessionOpened(IoSession session) throws Exception
        
    {
        }

        
        
    public void sessionClosed(IoSession session)
        
    {}
        
        
    public void messageReceived(IoSession session, Object message)
                
    throws Exception
        
    {
            System.out.println(
    "收到到消息" + (String) message);
            session.close(
    true);
        }

        
        
    public void messageSent(IoSession arg0, Object arg1) throws Exception
        
    {
            
    //System.out.println(arg1);
        }

        
        
    public void exceptionCaught(IoSession session, Throwable cause) throws Exception
        
    {
            session.close(
    true);
        }

    }

    posted on 2011-08-30 13:11 HUIKK 閱讀(1252) 評論(0)  編輯  收藏 所屬分類: Javajava Net
    主站蜘蛛池模板: 久久精品国产影库免费看| MM1313亚洲精品无码久久| 国产无遮挡又黄又爽免费网站| 免费在线黄色网址| 一级毛片aaaaaa视频免费看| 国产免费牲交视频| 无人视频免费观看免费视频| 亚洲国产精品碰碰| 成全视成人免费观看在线看| 日韩亚洲欧洲在线com91tv| 国产成人免费AV在线播放| 亚洲va无码手机在线电影| 久久九九全国免费| 亚洲一区二区在线视频| 四虎在线成人免费网站| 国产精品亚洲综合五月天| 最近2019中文免费字幕| 亚洲aⅴ无码专区在线观看| 五月婷婷亚洲综合| 国产成人AV免费观看| 久久亚洲中文字幕精品有坂深雪| 国产电影午夜成年免费视频| 亚洲六月丁香婷婷综合| 国产精品色午夜免费视频| 免费看美女午夜大片| 亚洲av午夜福利精品一区人妖| 永久在线观看www免费视频| 亚洲综合欧美色五月俺也去| 亚洲国产精品成人AV无码久久综合影院 | 亚洲网站免费观看| 无码国模国产在线观看免费| 国产精品福利在线观看免费不卡| 亚洲日韩在线第一页| 无码人妻丰满熟妇区免费| 99久久婷婷国产综合亚洲| 亚洲国产精品一区二区第四页| 久久精品私人影院免费看| 亚洲国产欧美日韩精品一区二区三区| 亚洲免费在线观看| 波多野结衣中文字幕免费视频| 理论秋霞在线看免费|