wake-up-neo.net

Fehlgeschlagen: Fehler beim Verbindungsaufbau: net :: ERR_CONNECTION_REFUSED

Ich versuche mit Socket eine Verbindung zu meinem Server herzustellen. Auf meinem Server wird ein Server-Socket mit Rachet auf Port 8080 ausgeführt. Ich versuche, diesen Code auszuführen:

<script>   

    try{
    conn = new WebSocket('wss://localhost:8080');


conn.onclose = function (e)
{
        //checkUser();
}

conn.onopen = function(e) 
{
    console.log("test");
};

    }catch (error)
{
    console.log(error);
}

  </script>

Aber ich bekomme diesen Fehler:

WebSocket connection to 'wss://localhost:8080/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

Wenn ich versuche, eine Verbindung von meiner Linux-Shell herzustellen, erhalte ich Folgendes:

[email protected](none):~# telnet localhost 8080
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
28
dasdasd

CONNECTION_REFUSED ist Standard, wenn der Port geschlossen ist, kann jedoch abgelehnt werden, da die Authentifizierung mit SSL fehlschlägt (einer von einer Milliarde Gründen). Haben Sie SSL mit Ratchet konfiguriert? (Apache wird umgangen) Haben Sie es ohne SSL in JavaScript versucht?

Ich glaube nicht, dass Ratchet SSL unterstützt. Aber selbst wenn dies der Fall ist, sollten Sie zuerst das Protokoll ws: // ausprobieren. Es ist viel einfacher, leichter zu debuggen und näher an Telnet. Chrome oder der Socket-Dienst generiert möglicherweise auch den Fehler REFUSED, wenn der Dienst SSL nicht unterstützt (weil Sie SSL ausdrücklich angefordert haben).

Die abgelehnte Nachricht ist jedoch wahrscheinlich ein serverseitiges Problem (normalerweise Port geschlossen).

5
btraas

In meinem Fall ist die Antwort ziemlich einfach. Bitte überprüfen Sie sorgfältig den fest codierten URL-Port: 8080. Aus irgendeinem Grund hat sich der Wert geändert in: zum Beispiel 3030.

Aktualisieren Sie einfach den Port in Ihrer Ajax-URL auf den entsprechenden.

conn = new WebSocket('ws://localhost:3030'); //should solve the issue
1
Anton Lyhin

Erstens würde ich versuchen, eine nicht sichere Websocket-Verbindung herzustellen. Entfernen Sie also eines der s von der Verbindungsadresse:

conn = new WebSocket('ws://localhost:8080');

Wenn das nicht funktioniert, überprüfe ich als Nächstes die Firewall-Einstellungen Ihres Servers. Sie müssen den Port 8080 Sowohl in TCP_IN Als auch in TCP_OUT Öffnen.

1
Nate