首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getaddrinfo返回使用Yocto构建的发行版的EAI_ADDRFAMILY

getaddrinfo返回使用Yocto构建的发行版的EAI_ADDRFAMILY
EN

Stack Overflow用户
提问于 2020-01-08 20:33:16
回答 1查看 263关注 0票数 4

我们目前正在使用Oat++ (https://oatpp.io/)作为嵌入式项目的We服务器。它可以在几种环境下运行: docker容器,ubuntu VM,Raspberry Pi 3。

然而,对于这个项目,我们有自己的linux发行版,是用Yocto (https://www.yoctoproject.org/)构建的,经过一些调试之后,我们意识到getaddrinfo (http://man7.org/linux/man-pages/man3/getaddrinfo.3.html)函数不起作用。

以下是正在发生的事情的示例代码:

代码语言:javascript
复制
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)),同样没有成功

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-16 00:38:54

好吧,我们发现问题不在于getaddrinfo...很抱歉。

这个问题是由于IPv6 ( SimpleTCPConnectionProvider for linux的实现只使用INET6)造成的,而我们的系统只使用IPv4构建。

因此,我创建了自己的ServerConnectionProvider,它使用INET而不是INET6实现套接字。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59645977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档