Posso ricevere pacchetti di trasmissione senza problemi all'interno di un'applicazione di Chrome per Windows. Tuttavia, quando prendo l'app e compilo usando gli strumenti Cordova/Crosswalk, non riesco a ricevere alcun pacchetto. Vedo tutti i pacchetti in wireshark. Il mio pacchetto viene trasmesso da: 172.24.0.42 e trasmesso su 172.24.255.255 (una trasmissione su 255.255.255.255 non funziona su Android, ma funziona sull'app di Windows Chrome).Come ricevere pacchetti di trasmissione UDP nell'app Chrome in esecuzione su Android
Questa è la mia (manifest.json):
"sockets":{
"udp": {
"bind": "*"
}
},
"permissions":["system.network" , "power"],
Questo è il mio codice per la mia rete:
chrome.sockets.udp.create({}, function(socketInfo) {
socketId = socketInfo.socketId;
// Setup event handler and bind socket.
chrome.sockets.udp.onReceive.addListener(onReceive);
chrome.sockets.udp.bind(socketId, "0.0.0.0", 4213, function(result) {
if (result < 0) {
console.log("Error binding socket.");
return;
}
//chrome.sockets.udp.send(socketId, arrayBuffer, '127.0.0.1', 1337, function(sendInfo) {
// console.log("sent " + sendInfo.bytesSent);
// })
//chrome.sockets.udp.setBroadcast(socketId, true, function(){})
});
});
Questo è quando ricevo i pacchetti:
var onReceive = function(info) {
if (info.socketId !== socketId)
return;
chrome.sockets.udp.setPaused(socketId, true, function(){}); // Set socket paused; Essentially blocking
//console.log();
///processing of my packet
chrome.sockets.udp.setPaused(socketId, false, function(){}); //unpause socket
};
Modifica: ho cercato di fare del mio meglio per capire perché non riesco a ricevere alcun pacchetto di trasmissione nell'app Chrome su Android. Sfortunatamente, mi sono imbattuto in un muro.
Un collegamento per rilasciare note e/o documentazione sarebbe utile. – Xan