[Ho segnalato questo problema da eliminare dal moderatore finché non avrò risposta alla mia domanda this]Calling IPV6 IP utilizzando l'interfaccia WebSocket
Il mio cliente javascript è lavorando bene quando si parla di node.js (su Ubuntu, altro here) server tramite interfaccia WebSocket con indirizzo IP IPV4.
Anche se il mio provider di hosting è pronto ad assegnarmi IPV4, è preferibile utilizzare IPV6 poiché ora è disponibile un'offerta limitata di IPV4.
Quando si utilizza l'IP IPV6 sto ottenendo questo errore:
WebSocket connection to 'ws://[2600:3c00::f03c:91ff:fe73:2b08]:31333/' failed: Error in connection establishment: net::ERR_ADDRESS_UNREACHABLE
Ho controllato che la porta 31333 è infatti aperta con lo strumento: http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-port-scanner.php
Ho anche provato la soluzione come in IPv6 address giveing syntax error in internet explorer-10 websocket - ovvero: 2600-3c00-0-0-f03c-91ff-fe73-2b08.ipv6-literal.net
Ho eseguito questo client ed è in grado di connettersi al server quando entrambi sono in esecuzione su remoto Server basato su 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);
});
Tuttavia quando ho eseguito questo stesso client dalla mia casa di Windows 7 mentre il server è un'Ubuntu remota, non è in grado di connettersi:
> $ 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)
Ho anche eseguire questo codice in 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...");
};
Ma ottengo lo stesso errore:
WebSocket connection to 'ws://[2600:3c00::f03c:91ff:fe73:2b08]:31333/' failed: Error in connection establishment: net::ERR_ADDRESS_UNREACHABLE websocket.html:37 Event
Quale potrebbe essere il problema?
PS: in questo momento ho smesso il server sulla porta 31333.
Hai controllato se il firewall sta bloccando l'accesso? Per esempio. se si utilizza l'IP per localhost * e * ascolta sul tuo indirizzo IPv6 locale, quindi la connessione a 'ws: // [:: 1]: 31333' sembra funzionare come previsto (Chrome 44.0.2403.125, Linux). –
Al momento il server client è in grado di comunicare quando si trova sullo stesso server. – user5858
La connessione di rete (locale) supporta IPv6? –