gpt4 book ai didi

java - 在 Java Servlet 和普通 Java 应用程序之间进行通信的更好方法

转载 作者:行者123 更新时间:2023-11-29 08:57:45 25 4
gpt4 key购买 nike

所以,我想最好从我正在规划的应用程序的用例开始。

我打算创建一个音频播放器,本地网络中的每个人都可以通过网页上传音乐并为特定歌曲投票。然后将播放和可视化获得最多选票的歌曲。还应该可以通过网络界面播放和暂停当前歌曲。

所以我的解决方案是编写两个应用程序;第一个是播放器,它应该播放歌曲并将它们可视化,并从数据库中获取下一首歌曲。另一部分是一个 servlet,它处理文件上传到播放器和 ID3 标签的处理,并最终插入到数据库中。

到目前为止,还不错。现在我需要一种方法来快速传达播放/暂停事件以及可能的事件以更改可视化。我想出了多种解决方案:

  1. 使用 Java 消息服务与 Apache ActiveMQ 交换前端和可视化之间的事件。 (应该可以使用 MessageListeners,因此响应会很快,但是需要 Apache ActiveMQ 作为附加技术)
  2. 将此类命令写入表格并让玩家使用每半秒左右线程一次(缺点:可能看起来很慢,因为间隔很低,还会在服务器 PC/Raspberry 上造成负载皮)
  3. socket

是否有更好的方法来解决这种通信,因为所有这些解决方案看起来都不理想?

最佳答案

我想最好的方法是使用通过等待和通知机制实现的线程,其中歌曲播放器将等待来自 servlet 的响应,一旦 servlet 收到响应,它就会通知播放器播放歌曲。

这个线程将充当 servlet 和歌曲播放器之间的桥梁。

关于java - 在 Java Servlet 和普通 Java 应用程序之间进行通信的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19300118/

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