websocket后台自动推送消息
目前网上实现的都是客户端与服务端双向通信的例子。例如聊天室。之前做项目遇到这样的问题:客户端仅仅负责接收服务器后台数据,不做发送,这样如何实现呢?
其实实现的方法很简单:
第一步:
将之前的WebSocket端点设置成静态公共
public static CopyOnWriteArraySet<MyWebSocket> webSocketSet = new CopyOnWriteArraySet<MyWebSocket>();
第二步:
在服务端的某个方法中,调用该Set集合
//群发消息
for(MyWebSocket item: MyWebSocket.webSocketSet){
try {
if(message!=null&&!"".equals(message)){
item.sendMessage(message);
}
} catch (IOException e) {
e.printStackTrace();
continue;
}
}
这里的message就是你服务端要推送的数据,你只需要想办法把这个message获取到就可以了。。
好了,大功告成,是不是so easy?
附上运行结果