Google chrome extension 如何在javascript中使用chrome.socket?
如何修复此错误 未捕获的TypeError:无法读取未定义的属性“socket” 它是background.js文件的一部分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) {
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连接,并代表它与普通服务器对话。现在我想起来了,可能有这种现成的解决方案。编辑:事实上
请不要将问题捆绑在一起,因为它们似乎没有相关性。因此,没有论坛是以问答为中心的。