【问题标题】:Problem with Socket communication in Chrome extensionChrome扩展中的Socket通信问题
【发布时间】:2019-10-01 06:16:56
【问题描述】:

我正在尝试在 chrome 扩展中建立套接字通信。我有我的扩展程序,它将与 chrome 提供的“简单 Websocket 客户端”通信。但我无法使用“WebSocket”类成功建立连接。

我尝试使用 Socket 类,但后来发现它不支持扩展。因此我尝试了 websocket,但我收到错误消息“websocket 握手期间出错:ERR_INVALID_HTTP_RESPONSE。”

var wsoc;
wsoc = new WebSocket("ws://localhost:8001");
wsoc.onopen = function()
{
    wsoc.send("Message from chrome extension");
};

我希望通过以下 Chrome 提供的客户端成功建立连接:简单 WebSocket 客户端扩展 (https://chrome.google.com/webstore/detail/simple-websocket-client/pfdhoblngboilpfeibdedpjgfnlcodoo?hl=en)

【问题讨论】:

    标签: javascript google-chrome-extension


    【解决方案1】:

    您需要设置一个 WebSocket 服务器。可以使用 ws,一个 Nodejs WebSocket 库来做到这一点。您正在尝试做的是将客户端连接到客户端,这是行不通的。您可以作为客户端之间的中间人启动 WebSocket 服务器。在浏览器中创建服务器是不可能的。 source

    【讨论】:

    • 嗨,所以我尝试使用 netcat 和命令“nc.exe -l -p 8001”创建服务器,但我仍然面临同样的问题。将 ERR_INVALID_HTTP_RESPONSE 作为错误。
    • 可能你需要处理握手的东西。更多信息在这里ssklogs.blogspot.com/2012/10/…恕我直言,你最好使用一些框架/库来处理这个问题,正如我的回答中提到的那样。
    • 给定链接上的 bash 脚本似乎崩溃了。知道为什么会发生这种情况吗?
    • stackoverflow.com/a/57879576/3360802 TL;如前所述,DR 使用第 3 方 WebSocket 服务器。
    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    • 2011-09-25
    • 2018-11-24
    • 1970-01-01
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多