Phonegap应用程序不适用于iPhone上的IPv6

时间:2019-05-12 14:35:33

标签: ios websocket ipv6 phonegap

我有使用WebSockets的基于PhoneGap的应用程序。它在Android和Windows(通过Chrome)下均能很好地工作-适用于IPv4和IPv6。但是,在iPhone上,它仅适用于IPv4。

例如,如果我使用地址“ 104.217.75.167”(我的测试服务器),则它可以在Android,Windows和iPhone上运行。如果我使用“ :: ffff:104.217.75.167”或“ :: ffff:68d9:4ba7”(相同),则仅适用于Android和Windows,不适用于iPhone。

我认为问题出在Safari浏览器(WebKit)中,因为PhoneGap引擎将其用作应用程序的基础。但是我没有Mac来调试它。

我使用的代码是这样:

    const ip_input = <HTMLInputElement>document.getElementById("ipaddress");
    const ip: string = ip_input.value.replace(/\s/g, ''); // remove spaces
    const isIpV6 = ip.includes(':');
    const bracketedIp = isIpV6 ? '['+ip+']' : ip;
    const fullAddr: string = "ws://" + bracketedIp + ":44405/websocket";
    TheSocket = new WebSocket(fullAddr);

有什么问题吗?

0 个答案:

没有答案