javascript - chrome.sockets.udp - Receiving duplicate UDP packets -


i building mobile app cordova , chrome.sockets.udp plugin. when app starts (and whenever user presses refresh button), creates udp broadcast in local subnet, , need list devices respond broadcast.

this code have:

function onload() {     document.addeventlistener("deviceready", ondeviceready, false); } function ondeviceready() {     createsocket();     document.getelementbyid("rfrshbtn").addeventlistener("click",function(){send();}); } var socketinfo; //global variable hold socket info //converts string arraybuffer function str2ab(str) {     var buf = new arraybuffer(str.length*2); // 2 bytes each char     var bufview = new uint8array(buf);     (var i=0, strlen=str.length; < strlen; i++) {         bufview[i] = str.charcodeat(i);     }     return buf; } //converts arraybuffer integer function ab2str(buffer){     var bytearray = new uint8array(buffer);     return bytearray; }  var buffer = str2ab("message");  //function create,bind,pause socket. called once on start up. function createsocket(){     chrome.sockets.udp.create(function(s){         chrome.sockets.udp.bind(s.socketid,"0.0.0.0",0,function(socketbind){             chrome.sockets.udp.setpaused(s.socketid,true,function(){});             chrome.sockets.udp.getinfo(s.socketid,function(socinfo){                 socketinfo = socinfo; //putting socket info in global variable                 send();             });         });     }); } function send(){     chrome.sockets.udp.send(socketinfo.socketid,buffer,"255.255.255.255",4210,function(packetsent){         receive();     }); } function receive(){     //unpausing socket     chrome.sockets.udp.setpaused(socketinfo.socketid,false,function(){});     chrome.sockets.udp.onreceive.addlistener(function(packetreceived){         var datarec = ab2str(packetreceived.data);         alert(datarec);     });     //pausing socket again after 5 seconds     settimeout(function(){         chrome.sockets.udp.setpaused(socketinfo.socketid,true,function(){});     },5000); } 

the problem receiving same packet multiple times. many times send broadcast more precise (once on start , more times using refresh button). know because have setup 1 device respond , replies different message each time. getting correct message every time being received multiple times.

i new sockets , networking. possible socket creating new stream receive replies each time calling send() function?


Comments

Popular posts from this blog

PHP and MySQL WP -

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

go - golang pprof for c library code -