我正在开发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。
最佳答案
从Chrome 44开始,我们有了setBroadcast
API。
https://developer.chrome.com/apps/sockets_udp#method-setBroadcast
关于google-chrome - 如何使用chrome.sockets.udp API进行UDP广播?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24117931/