

JavaScriptでWebsocketのServerに接続したいのですが、接続してもすぐに接続が切れてしまいます。consoleを見ると、ページが読み込まれると、すぐに下記のようにOpenとcloseが表示されてしまいます。なぜ、すぐに切断されるのでしょうか?

console:

[code]

    
    Open
    Close
    
    
[/code]

JavaScript

[code]

    
    var post_button = document.getElementById("post");
    var ws = new WebSocket("ws://localhost:4283/chat");
    
    function generateDOM(name, content) {
        var base_div = document.createElement("div");
        var p_content = document.createElement("p");
        var p_name = document.createElement("p");
        base_div.className = "message-card";
        p_content.className = "content";
        p_name.className = "name";
        p_name.textContent = name;
        p_content.textContent = content;
        base_div.appendChild(p_name);
        base_div.appendChild(p_content);
        return base_div
    }
    
    post_button.onclick = function (e) {
        ws.send(JSON.stringify({Name: name, Message: input_area.value}));
    };
    
    ws.onopen = function (e) {
        console.log("Open");
    }
    
    ws.onmessage = function (e) {
        var d = JSON.parse(e.data.toString());
        var e = generateCard(d.name, d.message);
        c.appendChild(e);
    }
    
    ws.onclose = function () {
        console.log("Close");
    }
    
    
    
[/code]


CC BY-SA 3.0
2016-01-03T04:32:57.510
20553
2016-04-07T13:16:03.333
5246
question
javascript websocket
JavaScriptでWebsocketの接続がすぐに切れてしまう


`onclose` 関数で
[CloseEvent](https://developer.mozilla.org/ja/docs/Web/API/CloseEvent)
を受け取るようにして、 `code` ([Close Code](https://www.rfc-
editor.org/rfc/rfc6455#section-7.1.5)) や `reason` ([Close
Reason](https://www.rfc-editor.org/rfc/rfc6455#section-7.1.6))
の値を調べれば、何かヒントが得られると思います。

[code]

    ws.onclose = function (e) {
        console.log("Close Code = " + e.code);
        console.log("Close Reason = " + e.reason);
    }
    
[/code]


CC BY-SA 3.0
2016-01-08T11:58:20.750
20755
2016-01-08T11:58:20.750
2021-10-07T07:34:52.683
-1
67
20553
answer