iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java开发中常用的Websocket技术有哪些
  • 895
分享到

Java开发中常用的Websocket技术有哪些

2023-06-16 04:06:28 895人浏览 泡泡鱼
摘要

本篇内容介绍了“Java开发中常用的websocket技术有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 1. 前言WEBS

本篇内容介绍了“Java开发中常用的websocket技术有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

 1. 前言

WEBSocketHTML5 开始提供的一种在单个 tcp 连接上进行全双工通讯的协议。WebSocket  使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据,当然也支持客户端发送数据到服务端。通常用来社交聊天、弹幕、多玩家游戏、协同编辑、股票基金实时报价、资讯自动更新等场景,技术选型是结合自身业务选择最适合的技术方案,并不存在褒贬。

2. 常用的 Websocket 技术

2.1 Java Websocket 规范

这是JavaEE提供的规范,在包javax.websocket下,包含客户端 api 和服务端 API,服务端 API 完全依赖于客户端  API,只是在其基础上添加了一些功能,所以只需要导入服务端依赖即可。 具体实现需要 Web 容器、JavaEE 服务器或者框架提供。我们常用的 Web  容器Tomcat、Undertow等都支持。

优点:集成起来简单,原生的Java支持。

缺点:和 Web 服务器等共享容器耦合度高,广播、组播需要自行控制。并发量较低,调优麻烦,存在兼容性问题。

2.2 SockJS

Sockjs是一个浏览器javascript库,对Websocket进行了抽象。SockJS为您提供了一个一致的,跨浏览器的Javascript  API,该 API 在浏览器和 Web  服务器之间创建了低延迟,全双工,跨域的通信通道。SockJS尝试首先使用本机WebSockets。如果失败了,它将尝试其它各种特定于浏览器的传输协议,例如xhr-streaming、Server  sent events 以及长轮询等。通常也会配合STOMP(面向消息的简单文本协议)来简化其使用。其实spring  的Websocket组件中采用的就是此协议。

优点:社区活跃,技术成熟,协议栈丰富,有全套 Spring 解决方案,兼容性强,另外可以结合发布订阅模式。

缺点:需要对 SockJS 和 STOMP 进行学习,断线重连、心跳检测、二进制支持不好。

2.3 Socket.IO

Socket.io 是一个基于 node.js  的实时应用程序框架,在即时通讯、通知与消息推送,实时分析等场景中有较为广泛的应用,但是它提供基于Netty的服务端实现以及客户端实现,同时支持Websocket和长轮询。除了Websocket的常用场景外,我们可以通过该组件实现安卓和iOS的消息推送。

优点:性能良好,支持广播、组播,断线重连、心跳检测、二进制。支持安卓和 IOS 平台。社区活跃。

缺点:需要自行封装同 Spring 的集成,服务端并非社区维护,资源消耗大。

2.4 ReactiveStream

一些反应流规范和框架也对Websocket进行了实现。Spring Webflux和RSocket就是其中的代表,目前官方已经放出了一些相关的  DEMO。

优点:高吞吐量、高性能。

缺点:技术比较新、学习资料少。

“Java开发中常用的Websocket技术有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Java开发中常用的Websocket技术有哪些

本文链接: https://www.lsjlt.com/news/282422.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java开发中常用的Websocket技术有哪些
    本篇内容介绍了“Java开发中常用的Websocket技术有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 1. 前言Webs...
    99+
    2023-06-16
  • Go编程中常用的开发技术有哪些?
    Go语言自诞生以来,一直备受开发者的青睐。其简单易用、高效可靠的特点,为开发者带来了很多便利。在实际的Go项目中,有哪些常用的开发技术呢?本文将为大家详细介绍。 Goroutine Goroutine是Go语言中的轻量级线程,可以在一...
    99+
    2023-08-08
    编程算法 数据类型 开发技术
  • Python 开发中常用的缓存技术有哪些?
    随着互联网的发展,数据量越来越大,对数据访问速度的要求也越来越高。为了提高程序的性能,减少数据库的压力,缓存技术在Python开发中也越来越重要。本文将介绍Python开发中常用的缓存技术以及如何使用它们来提高程序的性能。 一、缓存技术的...
    99+
    2023-10-23
    缓存 django windows
  • SpringBoot项目开发常用技术有哪些
    小编给大家分享一下SpringBoot项目开发常用技术有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1 创建一个springboot demopom.xml...
    99+
    2023-06-20
  • Java的后端开发技术有哪些
    这篇文章主要介绍“Java的后端开发技术有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java的后端开发技术有哪些”文章能帮助大家解决问题。Servlet技术Servlet 是从事 Java ...
    99+
    2023-06-27
  • Python开发中常用的容器和path技术有哪些?
    Python作为一种广泛使用的编程语言,拥有丰富的标准库和第三方库,其中容器和path技术是Python开发中常用的一种。本文将介绍Python开发中常用的容器和path技术,包括列表、元组、集合、字典、os、os.path等模块。 一、列...
    99+
    2023-08-16
    path 容器 开发技术
  • Web开发中有哪些技术
    本篇内容介绍了“Web开发中有哪些技术”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、A —;AJAXAJAX;全称为“Asynchron...
    99+
    2023-06-04
  • AJAX开发技术在PHP开发中的应用技巧有哪些
    AJAX开发技术在PHP开发中的应用技巧有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。[AJAX介绍]Ajax是使用客户端脚本与Web服...
    99+
    2024-04-02
  • Java开发常用规范技巧有哪些
    本篇内容主要讲解“Java开发常用规范技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java开发常用规范技巧有哪些”吧!1、Object 的 equals 方法容易抛空指针异常。从源码...
    99+
    2023-06-02
  • JavaScript开发技术有哪些
    本篇内容介绍了“JavaScript开发技术有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、使用正...
    99+
    2024-04-02
  • 实用的Android开发技术有哪些
    本篇内容主要讲解“实用的Android开发技术有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“实用的Android开发技术有哪些”吧!1. KotlinKotlin 通常被视为下一个 Jav...
    99+
    2023-06-04
  • Java分布式技术在Laravel开发中的应用有哪些?
    随着互联网的快速发展,传统的单机架构已经无法满足业务的需求。分布式架构成为了解决大规模业务的重要方式。Java作为一门流行的编程语言,自然也有着丰富的分布式技术。本文将介绍Java分布式技术在Laravel开发中的应用。 一、Java分布...
    99+
    2023-08-25
    分布式 laravel path
  • JAVA开发中常用的工具有哪些
    本文小编为大家详细介绍“JAVA开发中常用的工具有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“JAVA开发中常用的工具有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。...
    99+
    2024-04-02
  • 前端开发中常用技巧有哪些
    这篇文章主要为大家展示了“前端开发中常用技巧有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“前端开发中常用技巧有哪些”这篇文章吧。文章标题列表中日期居右显示的方法: 代码如下:<p&g...
    99+
    2023-06-08
  • web开发中用到哪些技术
    这篇文章主要讲解了“web开发中用到哪些技术”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“web开发中用到哪些技术”吧!一、标准通用标记语言(SGML)1.HTML即超文本标记语言(Hype...
    99+
    2023-06-27
  • 二维码技术在Java开发中有哪些应用场景?
    随着移动互联网的普及,二维码技术作为一种方便快捷的信息交互方式,被广泛应用于各行各业。在Java开发中,二维码技术同样具有重要的应用场景。本文将介绍二维码技术在Java开发中的应用场景,并且提供相应的演示代码。 一、二维码技术简介 二维码...
    99+
    2023-09-18
    二维码 开发技术 对象
  • Quora开发的主要技术有哪些
    本篇内容介绍了“Quora开发的主要技术有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先来看一下Quora网站开发主要利用到的技术:...
    99+
    2023-06-10
  • Css技术中的常用标签有哪些
    这篇文章主要介绍了Css技术中的常用标签有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。强调语气:<em>是斜体,<s...
    99+
    2024-04-02
  • 打包对象在 Java 开发技术中的应用场景有哪些?
    Java 是一种面向对象的编程语言,其中对象是 Java 编程的核心。在 Java 中,对象是由类定义的,它们包含了数据和方法。在 Java 开发技术中,打包对象是一个非常重要的概念,它可以帮助开发者简化代码的编写和管理,并提高代码的可维...
    99+
    2023-07-20
    开发技术 打包 对象
  • HTML技术中的常用标签有哪些
    今天小编给大家分享一下HTML技术中的常用标签有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作