连接到端口80上的IPV6地址时,chrome.socket.connect返回错误-102

时间:2014-04-09 15:24:48

标签: google-chrome-app

以下代码失败,出现-102错误,根据net_error_list.h表示'连接被拒绝'

chrome.socket.connect(
    socketId,

    '2001:1af8:fe9d:1:1454:de6a:7c96:70ba', // host 
    80,  // port

    function(errorCode){
        // errorCode = -102
    }
);

但是,如果我将port更改为任何其他开放端口,则会毫无问题地连接。

为了确保它不是防火墙/网络相关问题,我将相同的主机直接加载到Chrome标签地址栏中,并且它成功运行。

我也在主机/端口上做了一个没有问题的telnet

telnet 2001:1cf7:fc9e:1:1543:fe6b:8c86:81bc 80 

如果我使用其IPV4地址连接到同一主机,它也可以正常工作

chrome.socket.connect(
    socketId,

    '172.19.1.150', // host 
    80,  // port

    function(errorCode){
        // this works succesfully
    }
);

不知道这是否是chrome.socket模块中的错误,还是严格来说与我的网络基础设施有关?

1 个答案:

答案 0 :(得分:0)

已弃用的chrome.socket存在一些问题,包括缺乏IPv6支持。没有计划修复它们。迁移到chrome.sockets,您应该更开心。正如documentation所述,新API支持IPv6。