由于堆栈溢出的好人,我设法将消息从 chrome 扩展发送到本机 (C++) 应用程序。一旦原生主机应用程序接收到消息,它就可以返回任何响应数据。但是,这是对从扩展接收数据的本机应用程序的响应。此外,扩展程序发送的消息不是同步的,因此扩展程序不会等待主机应用程序的响应。
我的要求是从本机应用程序启动通信连接,即我的本机应用程序将定期向 chrome 扩展发送更新。是否有任何机制来启动从本机应用程序发送的消息并将其传递给适当的 chrome 扩展程序?
我基本上想要实现以下目标:我想在 webRequest.OnBeforeSendHeaders 之类的事件上发布消息,并且我希望对消息的响应来决定我是否应该阻止 url 请求。如果响应的接收将在回调上进行,这将主要在不同的线程上,这将不允许我等待 webRequest.OnBeforeSendHeaders 线程上的响应。在等待本机应用程序响应我的请求时,有没有办法可以暂停 webRequest.OnBeforeSendHeaders?或者 webRequest.OnBeforeSendHeaders 可以查看消息缓冲区(循环)以查看本机应用程序是否已响应?
还是有其他方法可以实现这一目标?