ClusterWS / ClusterWS-Client-JS

:fire: JavaScript Client for ClusterWS - lightweight, fast and powerful framework for building scalable WebSocket applications in Node.js.
MIT License
115 stars 10 forks source link

'disconnect' event is not triggered #55

Open ramjak opened 5 years ago

ramjak commented 5 years ago

Submitting

Using:

  1. ClusterWS v3.1.1
  2. OS Ubuntu 18.04

Desc: 'disconnect' event is not triggered after the socket is closed. After I check the disconnect event is missing in the event list in the EventEmitter.

17:20:33.702 emit {error: ƒ, connect: ƒ, response: ƒ, disconnect} connect
17:20:33.718 subscribe to to channel
17:20:33.719 status$: ON
17:20:33.764 emit {error: ƒ, connect: ƒ, response: ƒ} response

I've tried to check if off in the EventEmitter is triggered, but it's not.

goriunov commented 5 years ago

Ohh that is interesting, i will check it out today.

goriunov commented 5 years ago

@ramjak i have run tests locally and seems like everything works correctly

First is calling close socket from frontend (works ok)

   <script>
        let socket = new ClusterWS({
            url: 'ws://localhost:3000'
        });

        socket.on("disconnect", (code, error) => {
            console.log("Should be called", code, error);
        });

        setTimeout(() => {
            console.log("Close socket");
            socket.disconnect();
        }, 5000)
    </script>

and second i tied calling close from back end (also works ok)

   <script>
        let socket = new ClusterWS({
            url: 'ws://localhost:3000'
        });

        socket.on("disconnect", (code, error) => {
            console.log("Should be called", code, error);
        });
    </script>
goriunov commented 5 years ago

Can you please provide your code which does not work.