用mina2做网络编程,在服务端如何主动发送消息 设想这样的应用场景,服务端与客户端建立连接后,服务端会主动向所有或一部分客户端发送数据,这个在mina2中要如何实现呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为服务端是不可以主动发起连接的,所以楼主要达到目的,首先需要保持连接不断开。因为一旦断开,服务端就不能发送消息了。保持连接不断开的方法很简单,就是每隔一小段时间发送一个简单的无意义的消息(也称为心跳消息)。心跳消息通常由客户端发起。连接保持了之后,服务器端就可以发送消息了。通过什么对象发送呢?当然是 IoSession 对象。连接创建的时候服务器端就创建了这个 IoSession 对象,现在要做的只是将它保存到某个容器对象,当需要向这个客户端发送消息的时候,将 IoSession 对象取出来,调用 write() 方法就可以了,有可能要调用 isConnected() 检查一下连接状态。 我自己倒是发现IoAcceptor类里有一个广播方法broadcast(),通过它可以向所有客户端广播并返回一个Set(WriteFuture),但是如何控制向特定的客户端发消息呢?难道是通过Handler的messageSent()进行过滤? 怎么在本地触发鼠标事件? tcp工具是怎么发送数据的,为什么我自己写客户端发送不了数据 第三次,真的是第三次哦~(数组转化问题) “所有数据都应该隐藏在所在的类的内部。”这句话怎样理解? 还是聊天室的那个问题? 有点老的问题——获得IP地址 一个关于Import的问题,我是新手,请指教! 前10位答对100分,答错20分,请勿灌水 ^_^ javaMail怎么判断重复邮件? 如何实现nio监听两个端口,我server设置了7777 7778 为什么只能收到一个另一个收不到 bmp图形的支持性 Java7无法使用java.dyn包 java中的链表问题
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货