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

标签 javascript sockets google-chrome google-chrome-app

我正在尝试在我的应用程序的后台脚本中创建一个 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) {

    });
});

list 文件:

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

谁能帮帮我?谢谢!

最佳答案

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

权限应为“sockets”。您正在使用新的“套接字”API,但在 list 中您指的是旧的“套接字”权限(https://developer.chrome.com/apps/socket)

您的 list 权限应为:

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

关于javascript - 为什么 chrome.sockets.tcp.create() 在应用程序后台脚本中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28393105/

相关文章:

asp.net - 构建基于 Internet 的 p2p 文本、音频、视频聊天应用程序

html - 背景图像上的 Css 动画在 Chrome 中不起作用

javascript - 如何在 jquery 调用中更改按钮外观

javascript - 在express nodejs中将图像文件转换为base64

javascript - 将另一个(父) Controller 逻辑注入(inject)派生状态(angularjs ui-router)

google-chrome - Chrome 扩展扩展主机条目

javascript - 我可以在 chrome 扩展程序中找到带有选定文本的标签吗?

javascript - SharePoint REST API URL

java - java中的socket编程问题

sockets - 在我有兴趣接受之前,我可以将套接字留在 SYN_RECV 中吗?