探讨mina客户端复用问题

shunzyt 2013-05-22 07:35:35
最近做一个项目,总体来说就像一个转发服务器吧,想用mina,现在发现mina客户端例子如下:
//Create TCP/IP connection
NioSocketConnector connector = new NioSocketConnector();

//创建接受数据的过滤器
DefaultIoFilterChainBuilder chain = connector.getFilterChain();

//设定这个过滤器将一行一行(/r/n)的读取数据
chain.addLast("myChin", new ProtocolCodecFilter(new TextLineCodecFactory()));

//客户端的消息处理器:一个SamplMinaServerHander对象
connector.setHandler(new MinaClientHandler());

//set connect timeout
connector.setConnectTimeout(30);

//连接到服务器:
ConnectFuture cf = connector.connect(new InetSocketAddress("localhost",8888));

//Wait for the connection attempt to be finished.
cf.awaitUninterruptibly();

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

connector.dispose();
问题是,作为一个转发服务器,对性能有一定要求,我知道mina做服务器可以实现多路复用,但是做客户端如何实现?每次都创建这么大一个对象,然后关闭,是不是太浪费了?
...全文
157 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lcf 2013-05-24
  • 打赏
  • 举报
回复
嫌mina太重的话用SocketChannel自己写个连接池吧
shunzyt 2013-05-23
  • 打赏
  • 举报
回复
引用 2 楼 lcf 的回复:
客户端是啥应用?需要频繁开关?
客户端是多个客户端,作为转发服务器,tcp方式,收到信息后,根据信息不同,转发到不同服务器,全部是短连接
lcf 2013-05-23
  • 打赏
  • 举报
回复
客户端是啥应用?需要频繁开关?
静山晚风 2013-05-23
  • 打赏
  • 举报
回复
我也不太清楚

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧