我想要是使用JAVA NIO做一个客户端、服务器双向通讯的东东,但是我遇到的问题是:
服务器无法想客户端发送消息,类似这样的方式并不是我想要的:
while(it.hasNext()) {
SelectionKey key = it.next();
if(key.isAcceptable()) {
log.info("Server: SelectionKey is acceptable.");
handler.handleAccept(key);
} else if(key.isReadable()) {
log.info("Server: SelectionKey is readable.");
handler.handleRead(key);
} else if(key.isWritable()) {
log.info("Server: SelectionKey is writable.");
handler.handleWrite(key);
}
it.remove();
我的数据是从前台产生的,数据产生的时间比较随机,因此并不能像上述一下作为反馈信息发送回去,那么这种情况该怎么解决呢?
服务器是不能主动发送消息到客户端的。
只能是客户端没隔一段时间,比如1s,就请求一次服务器,获取服务器的消息,服务器才能和客户端通信。
或者 客户端和服务器一直保持sockeet连接,建立心跳。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。