Architecture 浏览器应如何与本地设备交互?
这应该如何实施?Architecture 浏览器应如何与本地设备交互?,architecture,cross-browser,cross-platform,Architecture,Cross Browser,Cross Platform,这应该如何实施? 用户将USB设备(“门铃”)连接到机器上 用户转到客户端的网页并单击链接 此时会出现一条通知“请按门铃” 用户按门铃,网站通知 “门铃”实际上是一个拥有自己SDK的复杂设备,它正在发回大量数据。设备制造商为Windows和OSX提供SDK。我可以为任一平台编写本机代码,以便在操作系统级别与设备交互 计划A LocalWatchdog进程在用户机器上运行 浏览器插件捕获网页事件 浏览器插件做了一些事情(使用NPAPI?)来发出本地看门狗的信号 LocalWatchdog弹出通知并
LocalWatchdog
进程在用户机器上运行LocalWatchdog
弹出通知并获取门铃按下事件LocalWatchdog
执行操作来告诉插件门铃已按下- 任何语言都是可以接受的
- 非琐碎的安装过程是可以接受的
- 必须在OSX和Windows上运行。如果我必须写两遍,我会的
- 必须与Chrome、Firefox和IE一起运行。如果我必须编写三次,我会
任何浏览器和硬件必须在用户机器范围内进行交互的解决方案都将是一项非常令人沮丧的工作,尤其是要支持的浏览器列表。它们需要耦合吗 浏览器上的用户单击链接。这将对后端系统上的事件进行排队 独立地,主机上的LocalWatchdog进程通过REST API或类似的定期(每分钟?)轮询后端。如果有挂起的操作,它会确认这一点(并将其从服务器上删除),然后弹出对话框“按门铃按钮”
浏览器和硬件必须在用户机器范围内进行交互的任何解决方案都将是一项非常令人沮丧的工作,尤其是要支持的浏览器列表。如果您有本地进程,我会说:
如果您有本地流程,我会说:
我很好奇:即使使用签名的Java小程序,您也可以执行本机代码吗?是的,通过JNI。但是现在谷歌正在推广Chrome原生客户端的方法。尽管如此,还是很有趣。我很好奇:即使使用签名的Java小程序,您也可以执行本机代码吗?是的,通过JNI。但是现在谷歌正在推广Chrome原生客户端的方法。尽管如此,还是很有趣。所以如果10000个用户按了门铃,我的主机每分钟会被轮询10000次,24/7?(我误解了吗?)间隔时间由你决定。但我明白你的意思。Femi的想法还不错。所以如果10000个用户按了门铃,我的主机每分钟会被轮询10000次,24/7?(我误解了吗?)间隔时间由你决定。但我明白你的意思。Femi的想法不错。所以当页面要求
http://localhost:9999/mydevice
,是否由本地进程处理?嗯,当然可能……所以当页面要求http://localhost:9999/mydevice
,是否由本地进程处理?嗯,当然可能。。。