gpt4 book ai didi

Java applet 与 tomcat 服务器上的 servlet 通信

转载 作者:行者123 更新时间:2023-11-28 22:23:06 24 4
gpt4 key购买 nike

我一直在努力找出解决这个问题的方法,但我不知道从哪里开始。

我有一个用 Java 编写的游戏小程序,我正试图通过网络制作多人游戏。目前它是一个独立的应用程序,但最终它需要在某种网页上,客户端可以通过浏览器访问它并相互对战。

我在想每个客户端小程序都可以使用套接字与在 tomcat 服务器上持续运行的小程序进行通信。服务器上的这个小程序将处理传入的套接字连接、创建新线程来处理每个连接、维护已连接客户端的列表以及设置游戏。客户端还可以通过与服务器通信从数据库中获取有关过去游戏等的信息。

例如,我希望客户端能够开始游戏。然后通知其他客户端他已经开始游戏并且可以加入游戏。然后,当主持人点击开始游戏时,所有其他客户端都会收到通知,并且游戏会在他们的小程序中开始。谁先解决这个难题,谁就会点击完成。他的分数将被发送到服务器小程序,然后服务器小程序将结果转发给每个连接的客户端。

所以我有一些问题

  1. 这听起来像是一个合理的计划吗?

  2. tomcat 如何对此提供帮助?

  3. 我如何将它部署到 tomcat?我在 eclipse 中这样做,并设置了一个本地 tomcat 服务器。我是否只使用 eclipse 在服务器上运行该类,然后套接字连接到 http://localhost/packagename/classname在小程序上?

  4. servlet 需要扩展哪些类才能使其可连接?由于连接将从 applet 建立,servlet 应该是非 Http Servlet 吗?

  5. 您能否推荐一些文档或提供一些使用 tomcat 与服务器 applet 通信的客户端 applet 示例代码?我看到的所有示例都只是使用 Http 将信息传递给 servlet 的 html 表单。

最佳答案

如果您的应用程序不需要通过原始套接字与服务器进行实时通信(听起来您的不需要),您最好使用标准 Web 协议(protocol)让您的小程序与服务器通信。

一种选择可能是 HTTP/JSON。您的 applet 可以与 servlet 建立 HTTP 连接,该 servlet 将生成一个 JSON 对象,该对象表示服务器要发送给客户端的消息。客户端将启动一个循环线程,对您的 servlet 进行异步阻塞调用以轮询新数据。

这种方法的主要优点是,在未来,如果您愿意,您可以放弃客户端 java 小程序,并用 HTML5 和 Javascript 取而代之。

GSON是一个用于 JSON 序列化/反序列化的库。和 java.net.URL是您将用来连接到小程序内的 servlet 的内容。

关于Java applet 与 tomcat 服务器上的 servlet 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6389947/

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