gpt4 book ai didi

javascript - 是否可以通过 WebSocket 握手发送自定义数据?

转载 作者:行者123 更新时间:2023-11-28 18:56:29 25 4
gpt4 key购买 nike

假设我有自己的基于Java Chromium Embedded Framework (JCEF)的定制网络浏览器它内部运行一个 WebSocket 服务器。

现在,我的 Web 应用程序在 CustomWebBrowser 上运行,可以使用 websockets 与内部 WebSocket 服务器连接。

但是,我不希望任何其他 WebSocket 客户端(另一个使用 WebSocket 的浏览器或桌面应用程序)连接到我的内部 WebSocket 服务器。

实现此目的的方法之一是执行以下步骤:

  1. 让 CustomWebBrowser 生成一个 key ,并使用 Java-JavaScript bridge 将该 key 从 JCEF 发送到 Web 应用程序.
  2. Web 应用程序会在握手期间将该 secret 发送到内部 WebSocket 服务器,如下所示:

    var ws = new WebSocket(myURL, 协议(protocol), mySecret);

  3. 内部 WebSocket 服务器可以使用在步骤 1 中生成并发送 key 的 CustomBrowser 来验证 key 。

  4. 如果 secret 得到验证,则握手成功完成,否则 Websocket 连接将被拒绝。

我的问题是:是否可以在 websocket 握手期间发送任何自定义数据?

最佳答案

是的,WebSocket handshake使用正常的 HTTP 请求/响应,您可以向其中添加包含自定义信息的任意 header 。

WebSocket 客户端/服务器库可能不允许这样做;但当从客户端发起连接时,您始终可以在 urlprotocol 中嵌入信息。

关于javascript - 是否可以通过 WebSocket 握手发送自定义数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33547992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com