2016-05-18 9 views
5

Ich möchte eine Verbindung zu meinem Web-Socket, die amazone Instanz mit einigen ip. Ich kann meinen Web-Socket mit einigen IP-und Port mit Google Rest Client App verbinden und es funktioniert sehr gut. Screenshot: enter image description hereKann nicht verbinden Web-Socket mit Javascript

Aber wenn ich dies mit Java-Skript verbinden will, kann es keine Verbindung herstellen. Dies funktioniert gut vor 2-3 Monaten. Ich habe mich nicht verändert, aber es funktioniert jetzt nicht. Wenn ich mit Firefox verbinden will, erzeugt es einen Fehler. Hier ist mein Code: -

function init() { 
      var host = "ws://XX.XX.XXX.XXX:XXXX"; // SET THIS TO YOUR SERVER 


       try { 
        var socket = new WebSocket(host); 
        // alert('WebSocket - status ' + socket.readyState); 
        log('WebSocket - status ' + socket.readyState); 

        socket.onopen = function (msg) { 
         alert('open'); 
         alert("Welcome - status " + this.readyState); 
         log("Welcome - status " + this.readyState); 

         if (this.readyState != 1) 
         { 
          reconnect(); 
         } 
        }; 
        socket.onmessage = function (msg) { 
         // alert("Received: " + msg.data); 
         log("Received: " + msg.data); 

        }; 
        socket.onclose = function (msg) { 
        // alert("Disconnected - status " + this.readyState); 
         log("Disconnected - status " + this.readyState); 
        }; 
       } catch (ex) { 
        alert(ex); 
        log(ex); 
       } 
       $("msg").focus(); 
      } 

Dies wird Zustand 0 und Fehler zeigen in Konsolenwarnung: -

Firefox can't establish a connection to the server at ws://XX.XX.XXX.XXX:XXXX. 


var socket = new WebSocket(host); 
+0

Konnten Sie IP von der Maschine pingen, erhalten Sie Verbindungsfehler? Überprüfen Sie auch, WebSocket Server läuft –

+0

Websocket läuft und auch mit Google Rest Client-App verbunden sind, können Sie auf dem Bildschirm sehen erschossen gibt es Fehler nur mit der Webseite. –

Antwort

0

ich Ihren Code versuchen würde und für mich ganz gut funktioniert, würde ich Testen Sie es mit dieser Webseite: https://www.websocket.org/echo.html, könnte vielleicht zu Testzwecken hilfreich sein. Aber auch ich habe diese Frage gefunden: websocket-rails, websocket handshake error, vielleicht auch helfen. Allerdings würde ich nur den Host in Ihrem Code ändern: "ws: //echo.websocket.org", und alles funktioniert ohne Probleme. Hoffen Sie, dass Sie eine Lösung finden und dass diese Information eine Hilfe war. Hier ist der Code, den ich für den Test verwendet:

function init() { 
var host = "ws://echo.websocket.org"; 
    try { 
     var socket = new WebSocket(host); 
     alert('WebSocket - status ' + socket.readyState); 
     socket.onopen = function (msg) { 
      alert('open'); 
      alert("Welcome - status " + this.readyState); 

      if (this.readyState != 1) 
      { 
       reconnect(); 
      } 
     }; 
     socket.onmessage = function (msg) { 
      alert("Received: " + msg.data); 
     }; 
     socket.onclose = function (msg) { 
      alert("Disconnected - status " + this.readyState); 
     }; 
    } catch (ex) { 
     alert(ex); 

    } 
    $("msg").focus(); 
} 

* Sorry für mein schlechtes Englisch.

+0

Ich habe bereits mit dieser Web-Buchse getestet, es funktioniert gut, aber nicht mit meiner Steckdose arbeiten. aber es kann mit Google Rest Client-Socket-Verbindung verbinden Sie können den Screenshot sehen. Was ich falsch mache. –

+0

Dies ist mit meinem Socket verbunden, aber automatisch getrennt. –

+0

ok, ist schwer zu reproduzieren der Fehler, den Sie bekommen, da ich Ihren Web-Socket nicht kenne. Vielleicht versuchst du es schon, aber ich werde trotzdem fragen, hast du versucht, das "ws" zu "wss" zu ändern? ... Ich versuche deinen Code erneut mit einem anderen Socket und habe den gleichen Fehler wie du, dann wechsle ich einfach zu "wss : // xxxx: xxxx "und es funktioniert für mich in Firefox. – Maxter

Verwandte Themen