我是谷歌搜索和搜索插件架构,我对如何实现它的一般知识满意。现在我进一步寻找沙盒体系结构。基本上我的意思是带有插件的应用程序,在插件中崩溃不会导致整个应用程序崩溃,插件可以重新加载。 我无法找到很好的文档。 我知道Firefox实现它(崩溃Flash插件不影响整个FF的事情,可以重新加载) 谢谢!沙盒插件架构
沙盒插件架构
回答
您可以拥有一个真正的沙盒体系结构,其中插件无法直接崩溃父应用程序的进程或损坏其内存的唯一方法是将其放置到单独的OS进程中,并具有单独的内存空间。执行此操作时,您需要依赖OS的进程间通信工具(管道,套接字,远程过程调用,内存映射文件,共享内存,同步对象等)与插件进行交互。
当插件很多时会使应用程序变得复杂。假设有20个插件和所有内存空间和进程间通信。至少如果可能有两个进程运行一个托管所有插件和其他核心应用程序。 –
是的,如果插件可以互相交互,那么您可以为所有插件都有一个插件主机进程。如果插件主机死了,它可能会使恢复插件主机更复杂 - 使用Firefox比较,这意味着如果插件运行异常并取消托管进程,所有使用任何插件的打开页面都将具有以某种方式重置,而不是仅重置一个页面/插件实例。 – vercellop
Mh!我认为你的答案没有办法。在我接受它作为答案之前,让我等待是否有其他选择。谢谢vercellop –
- 1. 带有托管扩展框架的沙盒插件
- 2. 用于Node.js的沙盒插件
- 3. iPhone沙盒规则文件
- 4. 插件架构
- 5. 沙盒线程
- 6. 沙盒脚本
- 7. 沙盒赔付
- 8. Paypal沙盒INTERNAL_SERVICE_ERROR
- 9. 沙盒MSBuild
- 10. PowerBuilder插件架构
- 11. Swift插件架构
- 12. 与沙盒应用
- 13. 细粒度沙盒
- 14. 什么是沙盒?
- 15. 沙盒JavaScript输出?
- 16. SPARQL入门,沙盒
- 17. 在沙盒应用
- 18. CRM 2013:在沙盒插件中反序列化
- 19. 寻找一个安全沙盒API的JVM插件
- 20. 访问沙盒外的视频文件
- 21. sharepoint 2010创建文件夹沙盒
- 22. 拖动文件遇到沙盒(__ CFPasteboardIssueSandboxExtensionForPath)
- 23. 访问铬沙盒文件系统
- 24. 沙盒APNS环境&.mobileprovision文件
- 25. Mac App Store沙盒 - 写入新文件?
- 26. 沙盒中的可执行文件C
- 27. iphone,在沙盒中写入csv文件
- 28. 沙箱WebGL插件
- 29. C#WPF插件架构
- 30. 为插件状架构
我认为你需要插件在自己的进程中运行,这样它就不会在主机应用程序崩溃时拆除它。不过,这要求插件和主机应用程序之间的通信是进程间通信。 – sbi
@sbi,这应该是一个答案 – bdonlan
@bdonlan:不,这不值得。 (去吧,如果你认为。) – sbi