Estoy tratando de obtener Native Messaging entre mi extensión de Chrome y mi aplicación C#. Pero a continuación están mis preguntas:
¿Cómo abrir solo una aplicación nativa a la vez? Al hacer clic en la extensión nuevamente, se abrirá la aplicación nativa una y otra vez.
¿Puedo comunicarme con una aplicación nativa ya abierta?
Desarrollé mi extensión y aplicación nativa usando el código de la siguiente pregunta.
Native Messaging funciona iniciando un nuevo proceso de aplicación y luego comunicándose con él a través de STDIO siempre que Chrome mantenga abierta la conexión. Si no mantiene abierta la conexión, no podrá "reconectarse" a una aplicación. Para mantener abierta la conexión, probablemente deba abrirla desde el script del evento.
Consulte esta pregunta: ¿Cómo hacer que Chrome Native Messaging escuche la aplicación? Trata parte de este tema, incluidas las formas específicas de C# para mantenerlo como una sola instancia.
Además, considere usar soluciones alternativas, como la comunicación web (por ejemplo, WebSockets) a un puerto local expuesto por su código nativo, aunque crea nuevas preguntas de seguridad (¿cómo asegurarse de que es su extensión la que le habla?).