开发者社区> 问答> 正文

JAVA NIO双向通信问题

我想要是使用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(); 

我的数据是从前台产生的,数据产生的时间比较随机,因此并不能像上述一下作为反馈信息发送回去,那么这种情况该怎么解决呢?

展开
收起
蛮大人123 2016-03-12 18:23:54 2348 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    服务器是不能主动发送消息到客户端的。
    只能是客户端没隔一段时间,比如1s,就请求一次服务器,获取服务器的消息,服务器才能和客户端通信。
    或者 客户端和服务器一直保持sockeet连接,建立心跳。

    2019-07-17 19:01:22
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载