Плагин Chrome: доступ к именованным каналам в Windows - PullRequest
5 голосов
/ 28 февраля 2012

Мне нужно написать плагин для Chrome, который, если он работает в Windows и URL браузера совпадает с чем-то конкретным, может открыть именованный канал для определенного процесса, работающего в ОС.

Какой лучший плагин для Chrome? Должен ли я использовать собственный клиент или использовать что-то менее навязчивое (хотя я понимаю, что именованные каналы по определению довольно навязчивы)?

Ответы [ 2 ]

3 голосов
/ 31 октября 2016

Собственный клиент действительно изолирован, как указано в комментариях, и NPAPI удален.

Два текущих решения для связи с работающим собственным приложением:

  1. Используйте HTTP, опционально с WebSockets, с собственным приложением (или прокси-приложением, которое будет взаимодействовать со сторонним приложением, используя любой собственный метод, включая каналы), выступающим в качестве сервера на localhost, и расширением, пытающимся подключиться к известномупорт. GhostText является примером этой архитектуры.

  2. Использование Собственные сообщения .Важно понимать ограничения этого подхода:

    • Он действует как канал к внешнему процессу, но должен следовать протоколу Native Messaging (на основе JSON).
    • Он не может подключитьсяв текущий запущенный процесс (или канал): Chrome может запустить только новый экземпляр Native Host, и контакт не может быть инициирован извне.

    Таким образом, с учетом этих ограничений ваш Native Host будетбыть прокси-сервером, который сам будет подключаться к рассматриваемому именованному каналу и передавать данные, переводя их в / из протокола Native Messaging.

1 голос
/ 03 марта 2017

Знаете, как ни странно, я только что заметил, что вы можете просматривать именованные каналы с помощью:

file: //./pipe/

Я обнаружил это, когда читал в Википедии статью о них.скопировал его, а затем подумал, что я скопировал URL-адрес и вместо этого случайно вставил его в chrome.

Вы даже не можете получить к нему доступ из проводника или файловой системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...