Образец C++ REST SDK для Galileo

Я хотел бы запустить образец C++ REST SDK, размещенный на сайте программы для разработчиков Windows: https://ms-iot.github.io/content/Casablanca.htm

Я очень внимательно следил за шагами, также используя версию 2.2 cpprest lib вместо последней версии (2.4), в результате я смог успешно запустить проект и развернуть его на своем Galileo, но когда клиентский объект пытается разрешить запрос с использованием образца, размещенного на странице, я получил следующую ошибку:

Error exception:Error in: WinHttpSendRequest.

Код — main.cpp по ссылке выше, и я пытаюсь запустить его в своем Intel Galileo.

Ценим любую помощь, потому что это немного расстраивает, не могу найти информацию об этой ошибке.


person Roberto Cervantes    schedule 02.01.2015    source источник


Ответы (1)


Наиболее распространенной причиной ошибок в WinHttpSendRequest API являются проблемы с сетью/DNS/брандмауэром.

Проще всего проверить это, пропинговав www.bing.com из командной строки Galileo (Telnet). Если это не удается, то это почти наверняка причина. Вы можете заменить www.bing.com на IP-адрес в качестве быстрого и грязного обходного пути.

Если это не так, есть ли вероятность того, что ваш запрос блокируется брандмауэром (например, если вы находитесь за корпоративным брандмауэром)?

Вы запускали код в отладчике Visual Studio? Можете ли вы уточнить, где возникает исключение?

Если это не помогает и вы застряли, вы можете попробовать подход, отличный от Касабланки: http://msdn.microsoft.com/en-us/library/windows/desktop/ms737889(v=vs.85).aspx. Лично я нахожу асинхронную структуру Casablanca сбивающей с толку, и она не очень полезна в моих проектах (основные HTTP-клиентские запросы). Поддержка Winsock включена в образ Windows, работающий на Galileo, поэтому не требуется запутанной предварительной настройки.

Дэн.

person Dan Watts    schedule 05.01.2015