java生成 Sec-WebSocket-Accept的密钥

这篇具有很好参考价值的文章主要介绍了java生成 Sec-WebSocket-Accept的密钥。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

   public static String generateWebSocketAccept(String webSocketKey) {
        String keyString = webSocketKey + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
        try {
            MessageDigest messageDigest = MessageDigest.getInstance("SHA-1");
            byte[] hash = messageDigest.digest(keyString.getBytes(StandardCharsets.UTF_8));
            return Base64.encodeToString(hash, Base64.NO_WRAP);
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException("SHA-1 algorithm not found", e);
        }
    }
参数webSocketKey是客户端请求过来的Sec-WebSocket-Key这个头。

具体的请求和响应的例子如下

Handshake Details
    Request URL: http://127.0.0.1:8080/home/user.websocket
    Request Method: GET
    Status Code: 101 Switching Protocols
    Request Headers
    Sec-WebSocket-Version: 13
    Sec-WebSocket-Key: VKK/4ExbQre/XX9rB4yDlg==
    Connection: Upgrade
    Upgrade: websocket
    Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
    Host: 127.0.0.1:8080
    
Response Headers
    Connection: Upgrade
    Upgrade: WebSocket
    Sec-WebSocket-Accept: iJKFTUb56s8x38R5xL1Bp/roB40=
文章来源地址https://www.toymoban.com/news/detail-667930.html

到了这里,关于java生成 Sec-WebSocket-Accept的密钥的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java Websocket 02: 原生模式通过 Websocket 传输文件

    Java Websocket 01: 原生模式 Websocket 基础通信 Java Websocket 02: 原生模式通过 Websocket 传输文件 关于 Websocket 传输的消息类型, 允许的参数包括以下三类 以下类型之一, 同时只能出现一个 文本类型 (text messages) 的消息: String, Java primitive, 阻塞的 Stream Reader, 带text decoder(Decoder.Text or Deco

    2024年02月09日
    浏览(53)
  • c# websocket client java websocket server

    实现功能:c# websocket 客户端 连接 java websocket 服务端 一,c# websocket 客户端  nuget websocketsharp-netstandard Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using WebSocketSharp;  //websocketsharp-netstandard namespace websocketCli

    2024年02月16日
    浏览(33)
  • 两种实现WebSocket的方式,基于Java实现WebSocket。

    首先我们声明WebSocker方便打字为ws。 WebSocker ws = new WebSocket(); 或者说启用spring框架,因为spring已经整合了ws。 配置类:把spring中的ServerEndpointEx porter对象注入进来 用iava注解来 @ServerEndpoint          监听连接、 @OnOpen          连接成功、 @OnClose        连接关闭、 @

    2024年01月21日
    浏览(44)
  • Android程序中使用websocket通信(java-websocket)

    使用场景: 需要和硬件保持实时通信 为什么用websocket: 在以前的消息推送机制中,用的都是http轮询(polling),做一个定时器定时向服务器发送请求,这种方式是非常消耗资源的,因为它本质还是http请求,而且显得非常笨拙。而WebSocket 在浏览器和服务器完成一个握手的动作

    2024年01月23日
    浏览(47)
  • websocket实现通讯——Java

    参考博客0 1)通知功能: 2)数据收集: 3)加密 认证: 4)反向控制钩子: 1、websocket则允许我们在一条ws连接上同时并发多个请求,即在A请求发出后A响应还未到达,就可以继续发出B请求。由于TCP的慢启动特性(新连接速度上来是需要时间的),以及连接本身的握手损耗,

    2024年02月15日
    浏览(46)
  • websocket基于java实现

    随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了。近年来,随着HTML5的诞生,WebSocket协议被提出, 它实现了浏览器与服务器的全双工通信,扩展了浏览器与服务端的通信功能,使服务端也能主动向客户端发送数据 。 我们知道,传统的HTTP协议是无状态

    2024年02月06日
    浏览(48)
  • 【Java使用WebSocket步骤】

    在项目中需要用到与前端进行双向通信,遂选择了Java API for WebSocket(JSR 356): WebSocket是一种在Web浏览器和服务器之间进行双向通信的技术,可以使得浏览器与服务器之间建立长连接,并且实现实时数据传输。在Java中,可以使用Java API for WebSocket(JSR 356)实现WebSocket通信。

    2023年04月18日
    浏览(39)
  • java 使用 websocket

     1.导入websocket依赖 2.代码 3.配置

    2024年02月11日
    浏览(37)
  • Java websocket 使用

    WebSocket 是一种基于 TCP 协议的全双工通信协议,可以在浏览器和服务器之间建立实时、双向的数据通信。在 Java 中,我们可以使用 Java API for WebSocket(JSR 356)来实现 WebSocket。 WebSocket 的作用是在 Web 应用程序中实现实时、双向的数据通信,可以用于在线聊天、在线游戏、实时

    2024年02月14日
    浏览(31)
  • Java集成WebSocket

    WebSocket协议是基于TCP的一种新的网络协议。它实现了客户端与服务器全双工通信。而HTTP是单工通信,通信只能由客户端发起,客户端请求一下,服务器处理一下,这就太麻烦了。于是websocket应运而生。 WebSocket是类似客户端服务端的形式(采用ws协议),那么这里的WebSocketServer其

    2024年02月15日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包