【问题标题】:Silverlight interacting with peripheral deviceSilverlight 与外围设备交互
【发布时间】:2026-01-27 08:40:01
【问题描述】:

我有兴趣创建 Silverlight 应用程序。我的要求之一是与连接到客户端的外围设备进行通信。满足此要求的最佳方法是什么。我想远离 ActiveX 并可能使用 Java。使用 Java 编写 Silverlight 应用程序以与客户端外围设备进行通信是我前进的方向。

我希望其他开发者能够反馈他们的想法。 Java和Silverlight之间沟通难吗?我相信 Silverlight 仅限于浏览器沙箱,原因很明显。

任何见解将不胜感激。

【问题讨论】:

  • Silverlight 和 Java 之间是否可以通信。核心应用程序将使用 Silverlight 编写,但外围设备之间的通信将使用 Java 完成。使用 Java 会绕过浏览器沙箱。

标签: java silverlight-3.0


【解决方案1】:

您是否考虑过使用签名的 Java Applet 或 JavaFX 来做这件事?

或者做一个完整的客户端 C#/Java 解决方案?

我不知道 Silverlight 3.0,但我怀疑你可以用 Java 语言为它开发应用程序,更像是在 J# 中。

您能否提供有关您的案例/要求/环境的更多详细信息?

【讨论】:

  • 我试图避免在最终用户机器上安装客户端。 Silverlight 提供的功能非常容易实现,否则使用非 RIA 架构会相对困难。其中一项要求是与文档扫描仪集成。另一个要求是与条形码扫描仪集成。 Silverlight 仅限于 Web 浏览器沙箱。我在想,使用 java 类型的解决方案可以解决我与外围设备通信并将数据桥接到我的 Silverlight 应用程序的问题。
【解决方案2】:

我们的应用程序也遇到了类似的问题:我们想要访问用户的麦克风和网络摄像头,但由于未知原因,该功能已从 SL 3.0 中移除。我们当前的方法是使用 HTML 桥/Javascript 来访问一个简单的 Flash 对象,然后我们将其覆盖到我们的 Silverlight 应用程序上。 (基本方法描述为here。)可以想象,您可以执行类似的操作,提示用户安装,例如,提供类似访问权限的小型 ActiveX 控件,然后通过 JavaScript 与该 AX 控件对话。我们正计划朝着这个方向前进,因为 Flash 麦克风支持太糟糕了,无法用于真实的 VOIP/会议场景。

【讨论】:

    【解决方案3】:

    我们可以使用外设小程序,这将在登陆的 jsp 上调用一个 javascript 方法,我们将拥有相同的控件

    【讨论】: