【发布时间】:2013-10-10 15:31:55
【问题描述】:
所以,我想最好从我正在计划的应用程序的用例开始。
我计划创建一个音频播放器,本地网络中的每个人都可以通过网页上传音乐并为特定歌曲投票。然后将播放和可视化得票最多的歌曲。还应该可以通过网络界面播放和暂停当前歌曲。
所以我的解决方案是编写两个应用程序;第一个是播放器,它应该播放歌曲并将它们可视化,并从数据库中获取下一首歌曲。另一部分是一个 servlet,它处理文件上传到播放器和处理 ID3 标签并最终插入数据库。
到目前为止,一切都很好。现在我需要一种方法来快速传达播放/暂停事件以及可能的事件以更改可视化。我想出了多种解决方案:
- 使用 Java 消息服务与 Apache ActiveMQ 交换 前端和可视化之间的事件。 (应该 可以使用 MessageListeners,因此响应会很快,但是 需要 Apache ActiveMQ 作为附加技术)
- 将此类命令写入表格并让玩家使用 每半秒左右线程一次(缺点:可能看起来滞后 间隔低并且还会在服务器 PC / Raspberry 上产生负载 圆周率)
- 套接字
是否有更好的方法来解决这种通信,因为所有这些解决方案似乎都不理想?
【问题讨论】: