gpt4 book ai didi

java - 基于 WEB 的应用程序与桌面集成 - 技术?

转载 作者:行者123 更新时间:2023-12-02 08:36:10 25 4
gpt4 key购买 nike

这是一个有关产品开发技术决策的一般问题。我的目标是开发一个基于网络的远程支持(桌面共享应用程序),具有音频和视频通信功能。

我理想的解决方案是将其开发为网络产品,这意味着客户端始终在浏览器中运行。客户端技术将是 JavaScript(使用 Google GWT ),对于桌面捕获、桌面演示、音频和视频,我想使用 Java applets

服务器端运行使用Java Servlet具有数据库后端的技术(Hibernate和基于 SQL 的数据源)。对于数据流,我的计划是使用 RTP/RTSP通过 UDP 传输(对于桌面数据,内部协议(protocol)将是 VNC ( RFB ),但传输将是 RTP 本身)。对于音频和视频,RTP 用于传输。

我的基本版本(原型(prototype))将使用中继服务器工作,这意味着客户端始终连接到服务器(登录、身份验证、 session 控制),并且服务器始终在对等点之间中继数据。

我的问题是 - 我的技术决策正确吗?我的意思是,由于多平台支持,我决定采用纯 Java。现在我们有Silverlight它具有更高级的桌面支持,但仅限于一种平台(Windows)。

我还担心 Java 对音频/视频技术的支持。我见过 JMF(Java Media Foundation),它似乎支持 RTP/RTSP、音频和视频捕获/显示,但这个包看起来非常过时。您对此有何看法?

对于实际的屏幕捕获,我会从 AWT 开始机器人课。我知道对于高性能桌面捕获,需要更多低级技术,例如 API Hook 或镜像驱动程序,但我的原型(prototype)旨在提供 1 FPS用于屏幕捕获,所以我相信 Java Robot 会成功。

最佳答案

Java 小程序可以做到这一点,但现在它们有点遗留。用Java术语来说,你现在还可以选择Java Web Start (更好的 Google 关键字是 JNLP)和 JavaFX 。如果您不回避学习一门新语言并且想要拥有真正的RIA ,然后选择 JavaFX。否则,Java Web Start A.K.A. JNLP是一个不错的选择。使用 Java,您可以像客户端应用程序一样执行所有操作,只要它们都在安全限制的范围内。

以下是一些使用教程:JavaFX tutorialWeb Start tutorial .

关于java - 基于 WEB 的应用程序与桌面集成 - 技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1701426/

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