Chrome应用中的udp需要什么权限? 我收到错误:
运行sockets.udp.bind时未经检查的runtime.lastError:应用程序没有权限
但我找不到所需的许可。 我的manifest.json文件如下所示:
{
"name": "XX",
"description": "XX",
"version": "0.0.1",
"manifest_version": 2,
"app": {
"background": {
"scripts": ["main.js"]
}
},
"icons": {
"16": "icon-16.png",
"128": "icon-128.png"
},
"sockets": {
"udp": {
"send": "*"
}
},
"permissions": [
"fullscreen", "alwaysOnTopWindows", "videoCapture", "storage", "browser"
]
}
答案 0 :(得分:2)
您需要申请绑定权限
"udp": {
"send": ["*"],
"bind": ["*"]
}
答案 1 :(得分:0)
使用UDP
Chrome Apps可以与任何支持UDP的服务建立连接。 发送数据
这是一个示例,说明如何使用UDP在网络上发送数据(sockets.udp.send):
// Create the Socket
chrome.sockets.udp.create({}, function(socketInfo) {
// The socket is created, now we can send some data
var socketId = socketInfo.socketId;
chrome.sockets.udp.send(socketId, arrayBuffer,
'127.0.0.1', 1337, function(sendInfo) {
console.log("sent " + sendInfo.bytesSent);
});
});
接收数据
此示例与“发送数据”非常类似。例如,我们设置了一个用于接收数据的事件处理程序。
var socketId;
// Handle the "onReceive" event.
var onReceive = function(info) {
if (info.socketId !== socketId)
return;
console.log(info.data);
};
// Create the Socket
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", 0, 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);
});
});
});
了解更多信息:look here