gpt4 book ai didi

java - 使用 Tomcat6 实现 cometd 模式

转载 作者:行者123 更新时间:2023-11-28 22:14:07 25 4
gpt4 key购买 nike

我刚刚了解 cometd 模式(长轮询)并且非常想实现一个以 Tomcat6 作为容器的简单示例。我在这里尝试做的是 - 我将调用一个 servlet,它生成一个介于 1 到 20 之间的随机数,并根据该随机数在响应客户端之前等待该秒数。

例如:如果生成的随机数是 10,则 servlet 应等待 10 秒才能发送响应。

这是我实现了 CometProcessor 的 servlet

public class RandomNumberGenerator extends HttpServlet implements CometProcessor {

doPost 方法:

        PrintWriter out =response.getWriter();
Random r = new Random();
int randomInt = r.nextInt(20) + 1;
out.print(randomInt);
out.flush();
out.close();

现在,当我实现 CometProcessor 时,我有一个事件方法:

@Override
public void event(CometEvent event) throws IOException, ServletException {

}

我想不通的是,我要用这个 event 方法做我想做的事。

我在这里知道的是,它们将是我可以在此方法中处理的一些事件,例如:BRGIN,READ,END,ERROR

我应该使用这样的事件吗?

if (event.getEventType() == CometEvent.EventType.BEGIN) {
event.setTimeout(numberOfSecondToWait);
}

我完全糊涂了this教程对我来说有点复杂。

最佳答案

我最近在 WebSockets and Comet 上写了一篇博文并请“ cometd ”的发明者发表意见。

综上所述,亚历克斯说WebSockets replace Comet .

因此,尽管人们仍在使用 Comet,但它最终将被 WebSocket 取代,因为它们是专门为解决 Comet 解决方案解决的问题而创建的。

我建议您将注意力转移到 WebSockets。

关于java - 使用 Tomcat6 实现 cometd 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11311967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com