Windows — Пример 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.

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

0

Решение

Наиболее распространенной причиной ошибок в 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. Лично я нахожу асинхронную структуру Касабланки сбивающей с толку, и она не приносит большой пользы в моих проектах (базовые запросы клиентов HTTP). Поддержка Winsock поставляется вместе с образом Windows, работающим на Galileo, поэтому не требуется никакой предварительной настройки.

Дан.

1

Другие решения


По вопросам рекламы [email protected]