2016-07-04 15 views
0

Ich habe ein Problem mit meinem Node Server + Socket Client. Nun, mein Localhost-Server funktioniert perfekt.NodeJS externer Verbindungsfehler?

Aber ... wenn ich meinen socket.io Client (Knoten) w meinen externen Server (ex: www.myserver.com:3000) funktioniert nicht funktioniert.

Ich erhalte keine Daten. (Meldung var)

Dies ist mein Beispielcode:

var io = require("socket.io-client"); 
var requestHTTP = require("request"); 

    var socket = io('http://myserver.com:3000'); 
    var room = "game881"; 

    console.log('test simple socket '+room+''); 

    socket.on('news', function (data) { 
    console.log(data); 
    socket.emit('conectado', { my: 'Conectado!' }); 
    }); 

socket.on('connect', function() { 
    socket.emit('room', room); 
    console.log('Conectando a ' + room); 
    }); 

    socket.on('message', function (data) { 

    var json = data.message; 
    json = JSON.parse(json); 
    console.log(json); 

    });+ 

Warum keine Daten nicht erhalten?

CORS? Ich habe es schon versucht. Port benutzt?

:) danke!

Antwort

0

Nun ... ich löste mein Problem. Ich benutze das.

Setup Server-Server SSL communication using socket.io in node.js

Die bisherigen Antworten für mich tun es nicht. require ('https'). globalAgent ist immer> undefiniert.

Wurde gesucht und der Parameter rejectUnauthorized in der Dokumentation gefunden (https://nodejs.org/api/tls.html). Nicht sicher, ob es sich um SocketIO handelt, aber irgendwie scheint es mit selbstsignierten Zertifikaten zu funktionieren:

var socket = io.connect ('// yourhost: 8000', {sicher: true, rejectUnauthorized: false})

sicher: True könnte optional sein, aber ich möchte es trotzdem erzwingen.