关于socket.io的监听事件接收多次的问题解决

1、场景描述:

使用socket.io在初始化socket

引用socket.io.js

初始化socket

var seatsocket = io('http://127.0.0.1:10001/client');

 

socket监听agentStateChanged 事件

  seatsocket.on('agentStateChanged', function (data) {
       //查看json
       log(JSON.stringify(data));

        });

在退出系统的时候如果没有调用socket的close方法,则会导致下次再次进入系统

虽然seatsocket只提交了一次emit

seatsocket.emit('idle', {});

但是 seatsocket.on('agentStateChanged)  还是会接收到多次消息响应,因为上次退出没有销毁之前的seatsocket导致的

 

解决方案

退出系统调用  seatsocket.close();

 

注意:初始化的socket一定要在退出的时候调用close方法。

 

你可能感兴趣的:(Java和Jvm)