Chrome插件:访问Windows上的命名管道

dre*_*jer 5 google-chrome-extension

我需要为Chrome编写一个插件,如果在Windows上运行并且浏览器的URL与特定内容匹配,则可以打开命名管道到操作系统上运行的某个进程.

什么是Chrome的最佳插件选择?我应该使用Native Client还是可以使用更少侵入性的东西(虽然我意识到命名管道的定义非常具有侵入性)?

Xan*_*Xan 4

正如评论所示,Native Client 确实是沙盒的,并且 NPAPI 已停用。

当前用于联系正在运行的本机应用程序的两种解决方案是:

  1. 使用 HTTP(可选)与 WebSocket 一起使用,本机应用程序(或将使用任何本机方法(包括管道)与第三方应用程序通信的代理应用程序)充当服务器,localhost并且扩展程序尝试连接到已知端口。GhostText是这种架构的一个示例。

  2. 使用本机消息传递。了解这种方法的局限性很重要:

    • 它充当外部进程的管道,但必须遵循本机消息传递(基于 JSON)协议。
    • 它无法附加到当前正在运行的进程(或管道):Chrome 只能启动 Native Host 的新实例,并且无法从外部发起联系。

    因此,考虑到这些限制,您的本机主机将是一个代理,它本身将附加到相关的命名管道并中继数据,将其转换为本机消息传递协议或从本机消息传递协议进行转换。