2
我在向客戶端發回消息時遇到問題。下面是我的代碼CometD發佈消息給客戶端
的JavaScript
dojox.cometd.publish('/service/getservice', {
userid : _USERID,
});
dojox.cometd.subscribe('/service/getservice', function(
message) {
alert("abc");
alert(message.data.test);
});
Configuration Servlet
bayeux.createIfAbsent("/service/getservice", new ConfigurableServerChannel.Initializer() {
@Override
public void configureChannel(ConfigurableServerChannel channel) {
channel.setPersistent(true);
GetListener channelListner = new GetListener();
channel.addListener(channelListner);
}
});
GetListener類
public class GetListener implements MessageListener {
public boolean onMessage(ServerSession ss, ServerChannel sc) {
SomeClassFunction fun = new SomeClassFunction;
}
}
SomeClassFunction
class SomeClassFunction(){
}
這裏我創建一個布爾變量 布爾成功; 如果它是真的發送消息給客戶端在JavaScript中。如何將消息發送回客戶端。我也嘗試過這一行。
remote.deliver(getServerSession(), "/service/getservice",
message, null);
但它給我一個遠程對象和getServerSession方法的錯誤。
perissf像以前一樣,它正在成功地將消息發送回客戶端。但我想在上述情況下。因爲如果我將使用echo類,它會在someClassFunction類之前調用,因爲我想在執行someClassFunction之後發送消息,所以你告訴我授權者的概念,然後我必須研究它。 – 2011-12-16 06:38:33