В настоящее время мы используем Oat ++ (https://oatpp.io/) в качестве веб-сервера для встроенного проекта. Это прекрасно работает с несколькими средами: docker контейнер, Ubuntu VM, Raspberry Pi 3.
Однако для этого проекта у нас есть собственный дистрибутив linux, построенный с использованием Yocto (https://www.yoctoproject.org/) и после некоторой отладки мы понимаем, что функция getaddrinfo
(http://man7.org/linux/man-pages/man3/getaddrinfo.3.html) не работает.
Вот пример кода того, что происходит:
struct addrinfo *result = NULL;
struct addrinfo hints;
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
hints.ai_flags = AI_PASSIVE;
int iResult = getaddrinfo(NULL, "8080", &hints, &result);
// iResult == EAI_ADDRFAMILY
Кто-нибудь знает, в чем может быть проблема?
PS: мы попытались сравнить конфигурацию ядра с конфигурацией Raspberry Pi 3, но безуспешно. PSS: Мы также попытались установить IP (то есть: getaddrinfo ("192.168.1.10", "8080", & hints, & result)), также безуспешно