使用“Native Messaging”,可以在Chrome扩展程序和本机应用程序之间进行通信。 https://developer.chrome.com/extensions/nativeMessaging
Google甚至提供了一个如何使用python“host”-app执行此操作的示例:https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/docs/examples/api/nativeMessaging/host/native-messaging-example-host
我想使用这种技术在Sublime Text插件(python)和Chrome扩展程序之间进行通信。
name
和path
中写了什么? sublime文本应用程序的名称和路径?stdin
和stdout
与sublime文本插件中的chrome进行通信,还是在编写插件时有限制?对不起,如果这看起来像个愚蠢的问题,我通常会做网络,而不是原生开发。
答案 0 :(得分:4)
本机消息传递无法连接到任意进程,因为:
stdin
进行通话,否则Chrome会断开连接。我怀疑Sublime插件在这种情况下可以改变Sublime的行为。因此,您假设的Native主机必须是一个单独的进程,可以独立于Sublime重新启动,并以某种方式与Sublime通信。
您实际上并不需要此处的Native Messaging协议。另一种方法是使用WebSockets:Sublime插件可以充当localhost上的WebSocket服务器,扩展可以连接到它。请参阅GhostText作为此类架构的示例。