场景:服务端开了两个SOCKET服务,分别对应两种客户端,假定分别无客户端A,客户端B。客户端A是短连接,发完消息得到反馈就结束,客户端B登陆上服务端之后就一直保持长连接。需求是:A发消息之后,进行业务处理,然后将处理的结果要发给客户端B。
目前考虑建立一起全局的ConcurrentHashMap,将客户端B的长连接中的IoSession放入ConcurrentHashMap中,客户端A处理完成之后,找到ConcurrentHashMap中的IoSession,然后调用write(msg)方法。
//sessionCurHashMap为全局变量,是一个ConcurrentHashMap
IoSession sendSession = (IoSession) sessionCurHashMap.get("key");
WriteFuture future = sendSession.write("转发数据"); // 发送数据
future.awaitUninterruptibly(); // 等待发送数据操作完成
if(future.isWritten())
{
// 数据已经被成功发送
System.out.println("数据已经被成功发送");
}
else
{
// 数据发送失败
System.out.println("数据发送失败");
}
分享到:
相关推荐
mina2学习笔记
mina2技术知识非常实用的 不用自己写多线程的东西的
mina2源码
mina2核心框架5000个并发
不错的MINA2源码呵,带有MINA2的原实例
mina的高级使用,mina文件图片传送,
Apache Mina 2 官方教程翻译
Apache Mina 2 完全自学手册
mina客户端,服务器端的demo
mina2+spring结合实例
本代码主要针对于解决mina 断包,丢包问题,里面包含客户端,服务端,直接可以使用客户端可以进行测试
Apache MINA2实用手册 Apache MINA2实用手册
Mina2源码分析,学习mina不可多得的文档资料
关于apache mina2 的学习资料 包括状态机
Mina2的中文用户手册,仅供互相学习参考,如有侵权立删
mina2推送demo客户端资源,测试过可以使用,正式可靠,比较试用学习
mina2依赖jar包: commons-logging-1.2 log4j-1.2.17 mina-core-2.0.9 slf4j-api-1.7.7 slf4j-log4j12-1.7.21
Mina文件上传的例子 mina mina2 file 文件上传
学习研究 mina 1.17 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
mina连接,mina心跳连接,mina断线重连。其中客户端可直接用在android上。根据各方参考资料,经过自己的理解弄出来的。CSDN的资源分太难得了。