Chrome 拡張機能を作成し、Native Messagingを使用して C++ ネイティブ アプリケーションに接続しました。
ただし、Chrome 拡張機能がネイティブ ホストに送信するメッセージごとに、新しいホスト exe インスタンスが作成されます。ホストにたくさんのメッセージを送るので効率が悪いと思います。
Chrome 拡張機能とネイティブ メッセージング ホストとの間に長期間接続する方法はありますか?
Chrome 拡張機能を作成し、Native Messagingを使用して C++ ネイティブ アプリケーションに接続しました。
ただし、Chrome 拡張機能がネイティブ ホストに送信するメッセージごとに、新しいホスト exe インスタンスが作成されます。ホストにたくさんのメッセージを送るので効率が悪いと思います。
Chrome 拡張機能とネイティブ メッセージング ホストとの間に長期間接続する方法はありますか?
を使用してメッセージを送信するか、メッセージごとにchrome.runtime.sendNativeMessage
新しい Port オブジェクトを作成する場合、はい、非効率的です。chrome.runtime.connectNative
の目的はchrome.runtime.connectNative
、再利用できるメッセージ ポートを作成して開いたままにすることです。ネイティブ ホストが Chrome が期待する方法で動作し、接続自体を閉じない限り、その接続は長続きします。
function connect(messageHandler, disconnectHandler){
var port = chrome.runtime.connectNative('com.my_company.my_application');
if(disconnectHandler) { port.onDisconnect.addListener(disconnectHandler); }
if(messageHandler) { port.onMessage.addListener(messageHandler); }
return port;
}
var hostPort = connect(/*...*/);
port.postMessage({ text: "Hello, my_application" });
// Goes to the same instance
port.postMessage({ text: "P.S. I also wanted to say this" });
// If you want to explicitly end the instance
port.disconnect();