我想要是使用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();
我的數據是從前台產生的,**數據產生的時間比較隨機**,因此並不能像上述一下作為反饋信息發送回去,那麼這種情況該怎麼解決呢?
我真的沒有C幣啊,求懂的人幫下忙啦~~~~
服務器是不能主動發送消息到客戶端的。
只能是客戶端沒隔一段時間,比如1s,就請求一次服務器,獲取服務器的消息,服務器才能和客戶端通信。
或者 客戶端和服務器一直保持sockeet連接,建立心跳。