use*_*858 16 javascript ipv6 websocket google-chrome-extension node.js
[ 我已将此问题标记为由主持人删除,直到我得到回答此问题为止 ]
说话时的Node.js(在Ubuntu上,更多的我的JavaScript客户端工作正常,在这里通过的WebSocket接口IPV4的IP地址)的服务器.
即使我的主机提供商已经准备好为我分配IPV4,但我现在改为使用IPV6,因为现在IPV4供应有限.
使用IPV6 IP时出现此错误:
WebSocket连接到'ws:// [2600:3c00 :: f03c:91ff:fe73:2b08]:31333 /'失败:连接建立错误:net :: ERR_ADDRESS_UNREACHABLE
我已经使用工具检查了端口31333是否确实打开:http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-port-scanner.php
我甚至尝试过在IPv6地址中提供解决方案,在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);
});
Run Code Online (Sandbox Code Playgroud)
但是,当我从家用Windows 7运行同一个客户端而服务器是远程Ubuntu时,它无法连接:
> $ 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)
Run Code Online (Sandbox Code Playgroud)
我甚至在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...");
};
Run Code Online (Sandbox Code Playgroud)
但是我得到了同样的错误:
WebSocket连接到'ws:// [2600:3c00 :: f03c:91ff:fe73:2b08]:31333 /'失败:连接建立错误:net :: ERR_ADDRESS_UNREACHABLE websocket.html:37事件
可能是什么问题?
PS:此刻我已经在31333端口停止了服务器.
Realtek PCIe GBE 系列控制器上未启用 IPv6。如果是的话,ipconfig 结果中将会有一行显示“链路本地 IPv6 地址”。
转至控制面板 > 网络 > 更改适配器设置 > 右键单击适配器 > 属性。检查 IPv6 是否打开。
| 归档时间: |
|
| 查看次数: |
4206 次 |
| 最近记录: |