2017-07-23 10 views
0

So habe ich diese Javascript-Server:Java-Client kann nicht mit NodeJS Server auf Heroku verbinden

const net = require('net'); 

var port = process.env.PORT || 3001; 

net.createServer(function (sock){ 
    console.log('CONNECTED: ' + sock.remoteAddress + ":" + sock.remotePort); 

    sock.on('data', function(data){ 
     console.log(data.toString()); 
    }); 

    sock.on('close', function(data){ 
     console.log('DISCONNECTED: ' + sock.remoteAddress + ":" + sock.remotePort); 

    }); 

    sock.on('error', function(error){ 
     console.log(error); 
    }); 

}).listen(port, '0.0.0.0'); 

console.log('Listening on: ' + port); 

Und ich diese meine Java-Client verbinden:

public void connect() { 
    System.out.println("Connecting with: " + host + ":" + port); 
    try { 
     this.socket = new Socket(this.host, this.port); 
     System.out.println("Connected!"); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

Und es funktioniert, wenn ich es versuchen lokal, aber jedes Mal, wenn ich es auf Heroku hochlade, protokolliert es niemals eine CONNECTED-Nachricht oder irgendwelche empfangenen Daten, also glaube ich nicht, dass es eine Verbindung herstellt.

Ich benutze dies als ip/port, um meinen Client zu verbinden: .herokuapp.com: heroku.env.PORT nicht wörtlich natürlich, benutze ich den Port heroku gibt meine Anwendung beim Start, da ich das Hören auf sehen : Botschaft.

Mache ich etwas falsch? Oder unterstützt Heroku keine Sockets?

Antwort

0

Ihr Client sollte eine Verbindung zu <appname>.herokuapp.com an Port 80 oder 443 herstellen. Die PORT Var ist nur für interne Bindung.

+0

Soo muss ich mein Server-Setup ändern? Ursache Wenn ich versuchte, eine Verbindung zu ' .herokuapp.com: 80 | 443' herzustellen, sagt mein Client, dass er eine Verbindung herstellt, aber mein Server protokolliert nichts. Ich habe versucht, den Listen-Port auf 80 zu ändern, aber dann bekomme ich einen EEACCES-Fehler. Irgendwelche Vorschläge? –

+0

Ihr Server bindet an $ PORT. Ihr Client verbindet sich mit 80 | 443 – codefinger

Verwandte Themen