我正在使用Atmosphere runtime 0.6 Snapshot.Tomcat 7正确记录我正在使用Http11 Nio连接器,并且没有警告将使用BlockingIO.
我正在尝试向三种渠道发送消息.
当登录动作发生时,为了实现这种广播,我必须在会话中存储什么?
我的代码的一些细节如下:
在构造函数中,我实例化globalBroadcaster,如下所示:
globalBroadcaster = new DefaultBroadcaster();
登录时,
resource.getAtmosphereConfig().getServletContext().setAttribute(name, selfBroadcaster);
其中name是request参数的用户名,selfBroadcaster是DefaultBroadcaster的新实例.
这是sendMessageToPartner的代码,
private synchronized void sendMessageToPartner(Broadcaster selfBroadcaster,
AtmosphereResource<HttpServletRequest, HttpServletResponse> resource,String name, String message) {
// this gives the partner's name
String partner= (String) resource.getAtmosphereConfig().getServletContext().getAttribute(name + PARTNER_NAME_TOKEN);
// get partner's broadcaster
Broadcaster outsiderBroadcaster = (Broadcaster) resource
.getAtmosphereConfig().getServletContext()
.getAttribute(partner);
if (outsiderBroadcaster == null) {
sendMessage(selfBroadcaster, "Invalid user " + partner);
return;
}
// broadcast to partner
outsiderBroadcaster.broadcast(" **" + …
atmosphere ×1