2010-02-03 9 views
4

Я работаю с производителем электроники, чтобы внедрить системы управления на базе LAN в продукты. Идея состоит в том, чтобы обслуживать интерфейс конфигурации системы/управления через веб-браузер, поэтому клиентам никогда не нужно устанавливать программное обеспечение. Мы можем связываться с прибором, отправляя и получая последовательные данные через встроенный модуль. Поскольку устройство также можно контролировать с помощью интерфейса передней панели, это создает проблему для синхронизации удаленного веб-интерфейса с очень низкой задержкой. Кажется, что веб-интерфейсы или какой-то Push - это то, что нам нужно для обработки событий в реальном времени от сервера к клиентам.Как реализовать websockets на сервере встроенного устройства?

Я использую сервер встроенных устройств Lantronix Mathport AR. Из коробки устройство будет обслуживать любые пользовательские HTML и Java-сервлеты/апплеты. У нас есть возможность установить легкий дистрибутив Linux, если нам нужна большая гибкость. Я не уверен, как реализовать любые приложения на стороне сервера, так как на устройстве не работает стандартный Apache. Я считаю, что он использует Боа.

Может ли кто-нибудь вести меня в правильном направлении, как это сделать?

ответ

2

Некоторые общие сведения ... Протокол WebSocket (draft spec here) - это простой слой поверх TCP. Это означает, что если у вас уже есть TCP-сервер для вашей платформы, внедрение WebSocket - это всего лишь несколько часов. Протокол определяет рукопожатие и два способа отправки фреймов данных.

Я настоятельно рекомендую вам начать с чтения спецификации 39 страниц.

1

Как уже упоминалось в Tihauan, начните с чтения спецификации, а также отметьте, что все еще есть какие-то изменения, хотя websockets теперь более стабильны, чем 1 год назад.

Ключевым моментом для меня было требование о том, что данные websocket полностью соответствуют тексту UTF-8, который хорошо поддается описанию сообщений на основе JSON.

Наша система использует форму Embedded Linux, поэтому мы потом добавили и использовали следующие библиотеки:

Используя вышеупомянутые в качестве библиотек поддержки, мы создали внутренний легкий «клиент/сервер», который позволил нашим другим программным модулям регистрироваться для определенных, применимых, websocket сообщений и реагировать по мере необходимости. Отлично.

С наилучшими пожеланиями,

+0

Не могли бы вы поделиться примером кода для клиентского приложения? –