Javascript Chrome API-无法读取未定义的属性

Javascript Chrome API-无法读取未定义的属性,javascript,sockets,google-chrome,Javascript,Sockets,Google Chrome,我正在编写一个小javascript应用程序,试图使用ChromeSocketsAPI。不过,代码似乎没有太大的相关性,因为我在第一行就遇到了一个错误: var socket = chrome.sockets.udp; 在那一行,我得到一个未捕获的TypeError:无法读取未定义的属性'udp'。所以chrome.sockets并不是出于某种原因被定义的,但就我的一生而言,我似乎不知道是什么。我是否需要包含或导入一些东西来使用ChromeAPI?API文档在这方面没有帮助 编辑:backgr

我正在编写一个小javascript应用程序,试图使用ChromeSocketsAPI。不过,代码似乎没有太大的相关性,因为我在第一行就遇到了一个错误:

var socket = chrome.sockets.udp;
在那一行,我得到一个未捕获的TypeError:无法读取未定义的属性'udp'。所以chrome.sockets并不是出于某种原因被定义的,但就我的一生而言,我似乎不知道是什么。我是否需要包含或导入一些东西来使用ChromeAPI?API文档在这方面没有帮助

编辑:background.js文件:

var socket = chrome.sockets.udp;
var PORT = 5005;
var HOST = '127.0.0.1';
var sockInfo;

chrome.app.runtime.onLaunched.addListener(function() {
    chrome.app.window.create('window.html', {
        'bounds': {
            'width': 400,
            'height': 500
        }
    });

    init();
});

function init(){
    socket.create({}, function(_sockInfo){
        sockInfo = _sockInfo;

        socket.bind(sockInfo.socketId, HOST, PORT, function(result){
            if(result < 0){
                throw "Bind failed"
            }
            console.log("Socket created and bound.");

            socket.onReceive.addListener(function(info){
                console.log('Received packet from ' + info.remoteAddress + 
                            ' : ' + info.remotePort + ', length ' + info.data.length);
            });
        });
    });
}
var socket=chrome.sockets.udp;
var端口=5005;
var-HOST='127.0.0.1';
var-sockInfo;
chrome.app.runtime.onLaunched.addListener(函数(){
chrome.app.window.create('window.html'{
“界限”:{
“宽度”:400,
‘高度’:500
}
});
init();
});
函数init(){
创建({},函数(_sockInfo){
sockInfo=\u sockInfo;
socket.bind(sockInfo.socketId、主机、端口、函数(结果){
如果(结果<0){
抛出“绑定失败”
}
log(“创建并绑定套接字”);
socket.onReceive.addListener(函数(信息)){
console.log('从'+info.remoteAddress+接收到数据包'
“:”+info.remotePort+”,长度“+info.data.length);
});
});
});
}

这是在Chrome应用程序中实现的吗?以前没有,但我现在已经尝试过了(承认是以一种非常快速和肮脏的方式),错误仍然是一样的。我已将background.js文件添加到OP中以供参考。是否添加了套接字权限?请显示应用程序的清单文件。套接字权限起了作用。谢谢。这是在Chrome应用程序中吗?以前没有,但我现在已经尝试过了(承认是以一种非常快速和肮脏的方式),错误仍然是一样的。我已将background.js文件添加到OP中以供参考。是否添加了套接字权限?请显示应用程序的清单文件。套接字权限起了作用。谢谢。这是在Chrome应用程序中吗?以前没有,但我现在已经尝试过了(承认是以一种非常快速和肮脏的方式),错误仍然是一样的。我已将background.js文件添加到OP中以供参考。是否添加了套接字权限?请显示应用程序的清单文件。套接字权限起了作用。非常感谢。