设置IPV6,设置AAAA记录时, IPV4的环境下sokcet就无法连接了

_readyStateMutex.lock();
_readyState = State::CONNECTING;
_readyStateMutex.unlock();

    Uri uri = Uri::parse(_url);
    LOGD("scheme: %s, host: %s, port: %d, path: %s\n", uri.getScheme().c_str(), uri.getHostName().c_str(), static_cast<int>(uri.getPort()), uri.getPathEtc().c_str());

    int sslConnection = 0;
    if (uri.isSecure())
        sslConnection = LCCSCF_USE_SSL;

    struct lws_vhost* vhost = nullptr;
    if (_lwsProtocols != nullptr)
    {
        vhost = createVhost(_lwsProtocols, sslConnection);
    }
    else
    {
        vhost = createVhost(__defaultProtocols, sslConnection);
    }

    int port = static_cast<int>(uri.getPort());
    if (port == 0)
        port = uri.isSecure() ? 443 : 80;

    const std::string& hostName = uri.getHostName();
    std::string path = uri.getPathEtc();
    const std::string& authority = uri.getAuthority();
    if (path.empty())
        path = "/";

    struct lws_client_connect_info connectInfo;
    memset(&connectInfo, 0, sizeof(connectInfo));
    connectInfo.context = __wsContext;
    connectInfo.address = hostName.c_str();
    connectInfo.port = port;
    connectInfo.ssl_connection = sslConnection;
    connectInfo.path = path.c_str();
    connectInfo.host = hostName.c_str();
    connectInfo.origin = authority.c_str();
    connectInfo.protocol = _clientSupportedProtocols.empty() ? nullptr : _clientSupportedProtocols.c_str();
    connectInfo.ietf_version_or_minus_one = -1;
    connectInfo.userdata = this;
    connectInfo.client_exts = exts;
    connectInfo.vhost = vhost;

    _wsInstance = lws_client_connect_via_info(&connectInfo);

以上是websocket 的源码,我断点查看,我自己的域名,在没有设置AAAA记录时,是可以正常访问IPV4的地址的。

通过设置,创建IPv6隧道地址,设置AAAA记录后,同样的域名, _wsInstance = lws_client_connect_via_info(&connectInfo);

返回的就是NULL了,没设置前是正常的,是不是要修改libwebsockets.a?

IPV6的环境下,连接也是正常的,

cocos cretetor 1.5.2

ios真机环境下,有问题。

如果是安卓就没有问题。