我正在开发一个Chrome扩展,我想在本地网络上广播一个UDP数据包。
我研究过这个Chrome API接口。
chrome.sockets.udp.create({}, function(s){
chrome.sockets.udp.bind(s.socketId, address, 0, function(ret){
chrome.sockets.udp.send(s.socketId, data, "172.16.0.0", 5019,
function(sendinfo){console.log(data.byteLength); console.log(sendinfo);})})})如果我指定了一个像172.16.0.0这样的地址,那么上面的代码就可以了。但是,如果我将172.16.0.0更改为255.255.255.255,则会得到表示错误的{resultCode: -10}。
我的manifest.json:
{
"manifest_version": 2,
"name": "UDP",
"description": "Test",
"version": "2",
"minimum_chrome_version": "23",
"app": {
"background": {
"scripts": ["main.js"]
}
},
"sockets":{
"udp": {"send":["*:*"], "bind":["*:*"]}
},
"permissions":["system.network"]
}顺便说一句,我尝试了chrome.socket,它甚至在广播上都能正常工作。但从Chrome 33开始,API就不再受欢迎了。
发布于 2015-05-22 08:38:02
从Chrome44开始,我们就有了setBroadcast API。
发布于 2015-04-17 13:15:12
还没试过,但我发现了这个:
"sockets": {
"udp": {
"bind": "*",
"send": "*",
"multicastMembership": ""
}
}
"multicastMembership"的空字符串值一点也不明显,我不得不通过阅读C++单元测试来找到正确的值。
https://stackoverflow.com/questions/24117931
复制相似问题