apache mina开发同步通信客户端
来源:互联网 发布:黄金罗盘 知乎 编辑:程序博客网 时间:2024/04/28 16:42
mina是个异步通信框架,一般使用场景是服务端开发,长连接、异步通信使用mina是及其方便的。
对于并发量不高的场景,现在流行使用短连接:每次连接只进行一次通信,即连接-发送-接收-断开。此种模式的通信客户端,能否使用mina开发?答案是肯定的。
mina典型应用,需要实现IoHanlder接口,当收到消息时,此接口的messageReceived方法被触发,开发人员实现此方法即可处理消息。
一个同步的客户端,可以不再需要IoHandler,但必须设置如下属性useReadOperation为true。mina会自动添加一个默认的IoHandler实现。
下面给出代码片段,一看即明
NioSocketConnector connector = new NioSocketConnector();
connector.setConnectTimeoutMillis(30000L);
connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new YourCodecFactory()));
SocketSessionConfig cfg = connector.getSessionConfig();
cfg.setUseReadOperation(true);
IoSession session = connector.connect(ip,port).awaitUninterruptibly().getSession();
现在已实现了连接,接下来就是发送-接收-断开了
try {
// 发送
session.write(YourMessage).awaitUninterruptibly();
// 接收
ReadFuture readFuture = session.read();
if (readFuture.awaitUninterruptibly(waitTimeout, TimeUnit.SECONDS)) {
YourMessage msg = readFuture.getMessage();
// TODO 处理消息
} else {
// 读超时
}
} finally {
// 断开
session.close(true);
session.getService().dispose();
}
整个过程完成,一切就是这么简单。
转载自: http://apps.hi.baidu.com/share/detail/31546206
- apache mina开发同步通信客户端
- apache mina开发同步通信客户端
- Apache mina 入门(三) —— 客户端同步通讯
- 基于Apache mina开发的windows客户端和android客户端
- Apache Mina 网络通信
- Apache Mina 网络通信
- Apache Mina 网络通信
- Apache Mina 网络通信
- apache MINA 高效通信框架
- Apache MINA网络通信框架
- Apache Mina 开发简介
- Apache Mina开发手册
- Apache Mina开发手册
- android(客户端)+Apache MINA(服务器端)通信的实现 智能家居动起来!
- 使用Mina框架开发 QQ Android 客户端(2) 客户端与服务端的通信
- mina 二进制协议客户端开发
- nio/mina(四)客户端socket与mina服务端通信
- mina服务端与c++客户端通信1
- android抽屉实现
- mstsc.exe的小插件,隐藏客户端计算机名
- 基于funambol ds 的云同步服务研究(四)-源码的研究摘记
- Ext.data.Store中JsonReader 属性值获取方法
- Understanding Ruby Blocks, Procs and Lambdas
- apache mina开发同步通信客户端
- 完全理解关键字this
- Ubuntu 安装flash 乱码解决方法
- 基于linux系统下的mysql自动备份
- Hbase API开发实例(Java版)
- 使用C#开发ActiveX控件
- 看Facebook的“黑客方式”
- 编译VLC时碰到的gettext问题
- 尾递归