如何在页面重新加载时避免重复数据发送回客户端?这是我的代码.
服务器端:
app.get('/test',function(req,res){ // some code... io.sockets.on("connection",function(socket){ var socketFn = function(data){ socket.emit("trends",{ trends: JsON.parse(redisData) }); }; socket.on("action",socketFn); socket.on("disconnect",function(){ socket.removeListener("action",socketFn); // this doesn't work }); }); res.render('test');});
客户端:
var socketopts = { "sync disconnect on unload" : true};var socket = io.connect("",socketopts);socket.on("trends",function(data){ // data received from the node server,so do something with it});function action(){ socket.emit("action",{phrase: "some dummy data"}); return false;}// already checked clIEnt sIDe doesn't fire multiple click event$("button#click").off("click").on("click",action);解决方法 这是因为您在客户端点击页面时多次收听连接.
app.get('/test',res){//when clIEnt opens the page io.sockets.on("connection",function(socket){ //start Listening to new connection ...
从路由中初始化连接事件侦听器被认为是一个坏主意.它应该只在全球范围内完成一次.每次客户端访问页面时,它都会在访问页面时多次监听事件.
总结以上是内存溢出为你收集整理的ios – 浏览器刷新后,Socket.io会发出重复数据全部内容,希望文章能够帮你解决ios – 浏览器刷新后,Socket.io会发出重复数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)