【问题标题】:Applet -> servlet -> another applet communicationApplet -> servlet -> 另一个小程序通信
【发布时间】:2011-10-08 12:53:31
【问题描述】:

我正在实现一个简单的跳棋游戏(Java 小程序作为客户端 + servlet),其中两个玩家可以连接到 servlet 并进行游戏。由于我刚刚开始使用 applet-servlet 编程,因此我在正确通信方面遇到了一些问题。

让我们假设游戏开始并且第一个玩家移动。然后我必须将他的动作发送到应该通知其他玩家的 servlet。在这里我不知道该怎么做。 servlet 如何将接收到的数据传递给另一个applet,而不是发送它的那个? servlet 应该如何以及在哪里保存与玩家相关的信息,以便它可以识别是哪一个发送了数据?

【问题讨论】:

  • 这可能会变得很复杂,并且可以通过不同的方式实现。如果您执行简单的 HTTP,则您的 servlet 无法转发到第二个 applet。轮询在这里可能是一种解决方案,因此第二个小程序不断询问 servlet 是否有新数据可用。如果您想使用 HTTP WebSockets 和/或 COMET 将是另一种选择。
  • 我认为 HTML5 游戏会更现代,是更好的解决方案。谁不再使用小程序了?
  • @duffymo,这听起来像是一个学校项目

标签: java servlets applet


【解决方案1】:

首先:servlet 不会将数据或消息从其主动传递给任何 servlet。 它必须等待小程序发送请求,然后才能发送正确的响应。

因此,最简单的方法似乎是您的小程序定期向 servlet 发送请求,例如“发生了什么?”。这就是 ome 所说的投票系统。 要识别哪个玩家正在轮询,请在他们第一次访问您的 servlet 时给他们一个 id(注册?),并让该 id 出现在以后的每个请求中。

够清楚了吗? :)

(是的,下一步是使用 COMET)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    相关资源
    最近更新 更多