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

1、场景描述:

使用socket.io在初始化socket

引用socket.io.js
<script src="/start/plugins/winvoice/socket.io-1.3.7.js"></script>

初始化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();

扫描二维码关注公众号,回复: 3706276 查看本文章

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

猜你喜欢

转载自blog.csdn.net/zsj777/article/details/83143559