[我已将此问题标记为由版主删除,直到我得到我的 answer 的答案]
我的javascript客户端在通过WebSocket接口使用IPV4 IP地址与node.js(在Ubuntu上有更多的here)服务器通信时工作得很好。
尽管我的主机提供商已经准备好给我分配IPV4,但还是让我使用IPV6吧,因为现在IPV4的供应是有限的。
在使用IPV6 IP时,我收到以下错误:
到'ws://2600:3c00::f03c:91ff:fe73:2b08:31333/‘的
WebSocket连接失败:建立连接时出错: net::ERR_ADDRESS_UNREACHABLE
我已经使用tool:http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-port-scanner.php检查了端口31333确实是打开的
我甚至尝试过IPv6 address giveing syntax error in internet explorer-10 websocket中的解决方案--也就是: 2600-3c00-0-0-f03c-91ff-fe73-2b08.ipv6-literal.net
我已经运行了这个客户端,当两者都运行在基于Ubuntu的远程服务器上时,我能够连接到服务器:
var WebSocket = require('ws')
, ws = new WebSocket('ws://[2600:3c00::f03c:91ff:fe73:2b08]:31333');
ws.on('open', function() {
ws.send('something');
});
ws.on('message', function(message) {
console.log('received: %s', message);
});
然而,当我在家中的Windows7上运行同样的客户端时,服务器是远程Ubuntu one,它无法连接:
> $ node c2.js events.js:85
> throw er; // Unhandled 'error' event
> ^ Error: connect ENETUNREACH
> at exports._errnoException (util.js:746:11)
> at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)
我甚至在Google Chrome中运行过以下代码:
var ws = new WebSocket("ws://[2600:3c00::f03c:91ff:fe73:2b08]:31333");
ws.onerror = function(err)
{
console.log(err);
alert("Connection is error...");
};
但我得到了相同的错误:
与'ws://2600:3c00::f03c:91ff:fe73:2b08:31333/‘的
WebSocket连接失败:建立连接时出错: net::ERR_ADDRESS_UNREACHABLE websocket.html:37事件
可能的问题是什么?
PS:目前我已经在端口31333停止了服务器。
https://stackoverflow.com/questions/31984934
复制相似问题