getaddrinfo 报错 Invalid value for ai_flags

最近改了游戏的网络层代码,运行 Android 版的时候 getaddrinfo 报错 Invalid value for ai_flags.

ai_flags 设置如下:

struct addrinfo hint = {0};

hint.ai_flags = AI_DEFAULT;

几经搜索,发现原来是 Android 的问题。

Android 和 FreeBSD 都有这个问题,对 AI_V4MAPPED 的支持有问题。

Android 上 AI_DEFAULT 是 AI_V4MAPPED_CFG | AI_ADDRCONFIG

最后只好把 Android 版本的代码中 ai_flags 的值设为 0

原文地址:https://www.cnblogs.com/hangj/p/7769296.html