google-chrome-extension,chrome-native-messaging,Google Chrome Extension,google Chrome Extension,Chrome Native Messaging" /> google-chrome-extension,chrome-native-messaging,Google Chrome Extension,google Chrome Extension,Chrome Native Messaging" />

Google chrome extension 如何在javascript中使用chrome.socket?

Google chrome extension 如何在javascript中使用chrome.socket?,google-chrome-extension,google-chrome-extension,chrome-native-messaging,Google Chrome Extension,google Chrome Extension,Chrome Native Messaging,如何修复此错误 未捕获的TypeError:无法读取未定义的属性“socket” 它是background.js文件的一部分 var SocketId = 0; chrome.socket.connect(SocketId, '127.0.0.1', 5053, function(result) { console.log('socket connect, result : '+result+''); if(result === 0) {

如何修复此错误

未捕获的TypeError:无法读取未定义的属性“socket”

它是background.js文件的一部分

    var SocketId = 0;
    chrome.socket.connect(SocketId, '127.0.0.1', 5053, function(result) {
        console.log('socket connect, result : '+result+'');
        if(result === 0) {
            chrome.socket.write(SocketId, str2ap('client say : Hello'), function(writeInfo){
                console.log('socket write, writeInfo.bytesWritten : '+writeInfo.bytesWritten+'');
            });
        }
    });
你的问题被标记了,所以我想你是想做一个扩展

Sockets API仅适用于Chrome应用程序:

两个列表都有一些它们独有的API。如果您绝对需要套接字通信,则有4种可能性:

切换到Chrome应用程序。在许多情况下,这不是一个选项,因为只有扩展才能与正常的浏览器内容交互。稍微过时,但适用

制作一个配套应用程序,并要求用户同时安装这两个应用程序。然后,使用

制作一个本机应用程序,可以使用操作系统中可用的任何东西,并使用进行通信。类似于现在不推荐使用的NPAPI的重型方法,在分发时会带来麻烦。如果您无法在Web应用商店中捆绑本机模块,您需要一个单独的安装程序,但最终是最强大的。另见

从使用原始插座切换到可随时用于扩展的插座。这仅适用于您希望Chrome启动连接,并且如果您控制服务器,则需要重写它。然而,这是侵入性最小的方法。如果您确实控制了服务器,则首选它

或者,您可以编写一个代理服务器,它接受WebSocket连接,并代表它与普通服务器对话。现在我想起来了,可能有这种现成的解决方案。编辑:事实上


请不要将问题捆绑在一起,因为它们似乎没有相关性。因此,没有论坛是以问答为中心的。