为什么 chrome.sockets.tcp.create() 在应用程序后台脚本中不起作用?

Why chrome.sockets.tcp.create() does not work in app background script?

我正在尝试在我的应用程序的后台脚本中创建一个 tcp 套接字。

错误是(1.js中的第一行):

Uncaught TypeError: Cannot read property 'tcp' of undefined

后台脚本1.js:

chrome.sockets.tcp.create({}, function(createInfo) {
  chrome.sockets.tcp.connect(createInfo.socketId,
    "127.0.0.1", 4005, function(socketInfo) {

    });
});

清单文件:

{
  "manifest_version": 2,
  "name": "UDP TEST",
  "version": "1.0",
  "app": {
    "background": {
      "scripts": ["1.js"]
    }
  },
  "permissions": [
    {
        "socket": [
            "tcp-listen:*:*",
            "tcp-connect",
            "resolve-host"
        ]
    }
  ]
}

谁能帮帮我?谢谢!

您在清单中的权限有误。查找 Chrome API 帮助: https://developer.chrome.com/apps/sockets_tcp (特别是清单:https://developer.chrome.com/apps/manifest/sockets

权限应为 [​​=20=]。您正在使用新的 "sockets" API,但在清单中您指的是旧的 "socket" 权限 (https://developer.chrome.com/apps/socket)

您的清单权限应为:

"permissions": [{
    "sockets": {
        "tcp": {
          "connect": "127.0.0.1:4005"
        }
    }
}]