简体   繁体   中英

Can not connect web socket with javascript

I want to connect to my web socket that put on amazone instance with some ip. I can connect my web socket with some ip and port with google rest client app and its working very well. Screen Shot : 在此输入图像描述

But if i want to connect this with java script it can not connect. This is working fine before 2-3 month. i have not change and thing but its not working now. If i want to connect with firefox it produce an error. Here is my 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();
            }

This is alerting status 0 and error show in console :-

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


var socket = new WebSocket(host);

I'd try your code and for me is working just fine, I'd test it with this webpage: https://www.websocket.org/echo.html , maybe could be helpful for testing purposes. But also i found this question: websocket-rails, websocket handshake error , maybe also help. However i'd just change the host in your code to this:"ws://echo.websocket.org", and everything works without problems. Hope you find a solution and that this info was of any help. Here's your code that i used for the test:

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 for my bad english.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM