Консультации по веб-сервисам без HTTP - PullRequest
1 голос
/ 15 сентября 2009

Моя компания планирует внедрить инструмент удаленного программирования для настройки встроенных устройств в полевых условиях. Я предполагал, что на этих устройствах будет иметься HTTP-клиент, и планировал реализовать некоторые службы REST для доступа к ним. К сожалению, я обнаружил, что у них есть стек TCP, но нет клиента HTTP. Один из моих коллег предложил мне отправить «мыльные пакеты» через порт 80 без HTTP-клиента. Устройства также не имеют клиента SOAP. Это возможно? Будут ли последствия, если в сети работает веб-сервер, к которому подключены устройства? Буду признателен за любые советы или рекомендации по реализации чего-либо подобного.

Ответы [ 4 ]

2 голосов
/ 15 сентября 2009

Если ваши серверы обслуживают простые файлы, встроенным устройствам действительно нужно только отправить HTTP-запрос GET (возможно, с небольшими дополнительными данными, идентифицирующими устройство, чтобы сервер мог знать, какую версию прошивки отправлять ).

С этого момента довольно просто считывать необработанные данные, поступающие в сокет встроенного устройства - вам может понадобиться игнорировать только HTTP-заголовок в ответе, или вы можете настроить свой сервер так, чтобы он не отправлялся. для этих запросов.

2 голосов
/ 15 сентября 2009

Базовый HTTP не является особенно сложным протоколом для реализации вручную. Это текстовый и строковый протокол, за исключением полезной нагрузки, и серверы довольно хорошо работают с «примитивными, тупыми» клиентами, а это простой клиент, которым нужно быть.

Если вы можете использовать только подмножество, скорее всего, тогда просто напишите это и все будет готово.

2 голосов
/ 15 сентября 2009

вам не нужен HTTP-клиент как таковой. HTTP - это очень простой текстовый протокол, который вы можете реализовать самостоятельно, если вам нужно.

Тем не менее, вам, вероятно, не нужно будет реализовывать это самостоятельно. Если у них есть стек TCP и стандартная библиотека сокетов, вы, вероятно, можете найти простую библиотеку C (например, this ), которая обернет для вас функциональность HTTP или SOAP. Затем вы можете просто встроить эту библиотеку в свое приложение.

0 голосов
/ 15 сентября 2009

Вы можете реализовать простой http-клиент через сокеты (вот пример того, как это сделать в ruby: http://www.tutorialspoint.com/ruby/ruby_socket_programming.htm)

Вероятно, это зависит от того, какую технологию вы используете на своих встроенных устройствах - если вы легко можете использовать JSON или XML, то подход с использованием вышеуказанного веб-сервиса может работать для вас.

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