【发布时间】:2015-11-05 15:04:12
【问题描述】:
假设我有自己的基于Java Chromium Embedded Framework (JCEF) 的自定义网络浏览器,它在内部运行一个WebSocket 服务器。
现在我的 Web 应用程序在我的 CustomWebBrowser 上运行,可以使用 websockets 与内部 WebSocket 服务器连接。
但是,我不希望任何其他 websocket 客户端(使用 websockets 的其他浏览器或桌面应用程序)连接到我的内部 WebSocket 服务器。
其中一种方法是执行以下步骤:
- 让 CustomWebBrowser 生成一个密钥,并使用 Java-JavaScript bridge 将该密钥从 JCEF 发送到 Web 应用程序。
-
Web 应用程序将在握手期间将该秘密发送到内部 WebSocket 服务器,如下所示:
var ws = new WebSocket(myURL, protocols, mySecret); 内部 WebSocket 服务器可以使用在步骤 1 中生成并发送秘密的 CustomBrowser 来验证秘密。
如果密码被验证,则握手成功完成,否则 websocket 连接被拒绝。
我的问题是:是否可以在 websocket 握手期间发送任何自定义数据?
【问题讨论】:
标签: javascript java websocket chromium-embedded java-websocket