Использовать последовательный порт в веб-среде - PullRequest
5 голосов
/ 28 августа 2011

Мне нужно использовать последовательный порт на стороне клиента веб-приложения.какое решение предлагается для использования последовательного порта в веб-браузере.может ли аддон Firefox использовать последовательный порт или вызывать функцию dll?какое другое решение?

Ответы [ 2 ]

7 голосов
/ 28 августа 2011

Вам придется написать дополнения, чтобы сделать эту работу.

для Internet Explorer; Вы можете написать Объект поддержки браузера (BHO) .

Для Firefox, Chrome и Safari; Я думаю, что ваш единственный вариант - написать плагин Netscape, используя NPAPI . FireBreath - очень полезный фреймворк для создания плагинов такого типа, поскольку он берет на себя большую часть грязной работы, позволяя вам сосредоточиться на самом плагине. Это позволит вам выбить этих троих одним камнем - вы также можете написать его для кроссплатформенности (поддержки многих операционных систем), если хотите. Каждый из этих браузеров также имеет свои собственные модели расширений, которые могут быть написаны на чистом JavaScript; но они не предоставляют API последовательного порта из-за отсутствия необходимости и проблем безопасности; делая NPAPI единственным жизнеспособным решением.


Однако, учитывая все сказанное, я бы спросил, стоит ли вам вообще делать это в браузере. Для меня это больше похоже на клиентское приложение.

У вас есть несколько других вариантов в зависимости от ваших потребностей. Если вы пишете специально для платформы Windows, многие обнаружили, что они могут использовать Silverlight 4 Out-of-Browser плюс объект Active-X для доступа к последовательному порту (Silverlight не имеет собственного API для доступа к последовательному порту). Это не будет работать в браузере; но это вариант для рассмотрения.

2 голосов
/ 08 декабря 2012

Рассмотрим облегченное клиентское приложение, которое реализует протокол websocket.

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