【问题标题】:Java Websocket Client Not Including Key in ResponseJava Websocket 客户端不包含响应中的密钥
【发布时间】:2023-01-31 02:37:07
【问题描述】:

我正在尝试用 Java 制作一个 websocket 服务器。当我启动服务器并转到 Chrome 或 Edge 中的 IP 地址时,浏览器将此发送到服务器:

GET / HTTP/1.1
Host: 127.0.0.1:5801
Connection: keep-alive
sec-ch-ua: "Not_A Brand";v="99", "Microsoft Edge";v="109", "Chromium";v="109"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
DNT: 1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.70
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9

它不包括Sec-Websocket-Key,我需要升级连接。有没有办法从服务器请求 websocket 连接?

【问题讨论】:

  • “转到 Chrome 或 Edge 中的 IP 地址”是什么意思?你使用 JavaScript websocket API 吗?
  • @vanje 不,我只是在新选项卡中输入 IP 地址。我的目标是能够最初发送一个 js 文件,该文件使用 API 来处理来自客户端的连接。

标签: java websocket


【解决方案1】:

除了您的 Java WebSocket 服务器之外,您还需要一个通过 JavaScript WebSocket API 连接到您的服务器的 HTML 页面,如 this answer to another question 中进一步演示的那样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 2018-07-30
    • 1970-01-01
    相关资源
    最近更新 更多