2016-05-18 2 views
5

Я хочу подключиться к моему веб-сокету, который добавит экземпляр amazone с некоторым ip. Я могу подключить свой веб-сокет с некоторыми ip и портом с клиентским приложением google rest, и он работает очень хорошо. Экран: enter image description hereНе удается подключить веб-сокет с javascript

Но если я хочу связать это с java-скриптом, он не может подключиться. Это работает до 2-3 месяцев. я не изменился и ничего, но теперь он не работает. Если я хочу подключиться к firefox, это приведет к ошибке. Вот мой код: -

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(); 
      } 

Это предупреждает состояние 0 и ошибки шоу в консоли: -

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


var socket = new WebSocket(host); 
+0

Не могли бы вы ping ip с машины получить ошибку подключения? Также проверьте, работает ли сервер websocket –

+0

работает websocket, а также подключается к клиентскому приложению google rest, вы можете видеть на экране снимок, он дает ошибку только на веб-странице. –

ответ

0

Я хотел бы попробовать ваш код и для меня работает нормально, я бы протестируйте его на этой веб-странице: https://www.websocket.org/echo.html, возможно, может быть полезно для тестирования. Но также я нашел этот вопрос: websocket-rails, websocket handshake error, может быть, тоже поможет. Однако я бы просто сменил хост в вашем коде на это: «ws: //echo.websocket.org», и все работает без проблем. Надеюсь, вы найдете решение и что эта информация была полезной. Вот ваш код, который я использовал для теста:

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(); 
} 

* Извините за мой плохой английский.

+0

Я уже тестировал этот сетевой сокет, он отлично работает, но не работает с моим сокетом. но он может подключаться к соединению сокетов клиента google rest, и вы можете увидеть скриншот. Что я делаю неправильно. –

+0

Это связано с моим сокетом, но автоматически отключается. –

+0

ОК, трудно воспроизвести ошибку, которую вы получаете, поскольку я не знаю вашего веб-сокета. Может быть, вы уже попробовали, но я все равно спрошу, вы пытались изменить «ws» на «wss»? ... Я снова пытаюсь выполнить код с другим сокетом и получил ту же ошибку, что и вы, тогда я просто перехожу к «wss : // xxxx: xxxx "и это работает для меня в firefox. – Maxter

Смежные вопросы