首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏IT技术精选文摘

    史上最全Web即时通讯技术原理详解

    web的IM应用,由于浏览器的兼容性以及其固有的“客户请求服务器处理并响应”的通信模型,造成了要在浏览器中实现一个兼容性较好的IM应用,其通信过程必然是诸多技术的组合,本文的目的就是要详细探讨这些技术并分析其原理和过程 1.基于web的固有通信方式 浏览器本身作为一个瘦客户,不具备直接通过系统调用来达到和处于异地的另外一个客户浏览器通信的功能。 : 1.cookie不会随请求发送,也不会随响应返回; 2.只能设置请求头部信息中的Content-Type字段; 3.不能访问响应头部信息; 4.只支持Get和Post请求; 5.只支持IE8-IE10 技术,它不仅是一种web通信方式,也是一种应用层协议。 从图上可以看出,对于现代浏览器(IE10+,chrome14+,Firefox10+,Safari5+以及Opera12+)都是能够很好的支持websocket的,其余低版本浏览器通常使用基于XHR(XDR

    2.2K30发布于 2018-06-22
  • 来自专栏即时通讯技术

    Web网页即时通讯源码IM聊天源码RainbowChat-Web

    1、基本介绍RainbowChat-Web是一套基于MobileIMSDK-Web的网页IM系统。 RainbowChat-Web同时也是移动IM应用RainbowChat的姊妹产品。2、品质说明❶ 源自真正运营的商业产品:RainbowChat-Web的技术源于真实运营的商业产品。 转让、邀请、踢人、群公告等;6、完整的注册、登陆、密码找回等等功能闭环;7、个人中心功能:改基本信息、改个性签名、改头像、改密码等;8、支持查看个人相册、个人语音介绍;9、完整的离线消息/指令拉取机制;10 工程,实现了IM功能逻辑与网络通信的解偶,利于持续升级、重用和维护(这是经验不足的IM产品做不到的);5)支持WebSocket:并非某些产品中还在使用的过时“长轮询”技术,真正的“即时通讯”;6)网络兼容性好 通信加密;9)服务慢io解偶:IM实例本身坚持不直接进行DB等慢io的读、写,保证IM实时消息高吞吐和性能;10)服务逻辑解偶:得益于MobileIMSDK-Web工程,实现了上层逻辑与网络通信核心的解偶

    53300编辑于 2025-09-19
  • 来自专栏即时通讯技术

    Web即时通讯技术盘点:短轮询、Comet、Websocket、SSE

    好在HTML5的时代已经到来,为Web即时通讯的实现带来了WebSocket和SSE(Server-sent Events)两种技术方案。 4. 在Low Latency要求比较高的web应用中,只能增加服务器请求的频率。Comet则不同,客户与服务器保持一个长连接,只有客户需要的数据更新时,服务器才主动将数据推送给客户。 ? 有关Comet技术的详细介绍文章请参见:《Comet技术详解:基于HTTP长连接的Web实时通信技术》、《WEB即时通讯:HTTP长连接、长轮询(long polling)详解》、《WEB即时通讯 :不用WebSocket也一样能搞定消息的即时性》、《开源Comet服务器iComet:支持百万并发的Web即时通讯方案》。 不过,当前也已存在一些比较成熟的封装方案来解决这种兼容性限制,比如:开源的Socket.io,详见《Socket.IO介绍:支持WebSocket、用于WEB即时通讯的框架》。 7.

    3.3K50发布于 2018-08-23
  • 来自专栏即时通讯技术

    Wasm在即时通讯IM场景下的Web应用性能提升初探

    Wasm被设计为一个可移植的目标,用于编译C/C++/Rust等高级语言,支持在Web上部署客户和服务器应用程序。 Web即时通讯技术原理详解[3] Web即时通讯技术盘点:短轮询、Comet、Websocket、SSE[4] 新手快速入门:WebSocket简明教程[5] WebSocket详解(六):刨根问底 [7] 搞懂现代Web即时通讯技术一文就够:WebSocket、socket.io、SSE[8] 详解Web通信方式的演进:从Ajax、JSONP 到 SSE、Websocket[9] 从理论到实践 ,详细对比Electron和Tauri的优劣[10] 快速对比跨平台框架Electron、Flutter、Tauri、React Native等10、得物技术团队其它文章得物从0到1自研客服IM系统的技术实践之路得物自研客服 IM中收发聊天消息背后的技术逻辑和思考实现得物从零构建亿级消息推送系统的送达稳定性监控体系技术实践得物基于Electron开发客服IM桌面的技术实践得物自研移动弱网诊断工具的技术实践分享得物移动常见白屏问题优化

    82110编辑于 2024-11-21
  • 来自专栏即时通讯技术

    Web即时通讯实践干货:如何让WebSocket断网重连更快速?

    本文作者网易智慧企业web前端开发工程师马莹莹。为了提升内容质量,收录时有修订和改动。 1、引言 在一个完善的即时通讯IM应用中,WebSocket是极其关键的一环,它为基于Web即时通讯应用提供了一种全双工的通信机制。 本文已同步发布于“即时通讯技术圈”公众号。 2、预备知识 本文中将要分享的内容是基于实践总结,如果你对Web即时通讯知识还一头雾水,务必先读:《新手入门贴:史上最全Web即时通讯技术原理详解》、《Web即时通讯技术盘点:短轮询、Comet 它是一种全新的应用层协议,是专门为web客户和服务设计的真正的全双工通信协议,可以类比HTTP协议来了解websocket协议。 ?

    5.1K20发布于 2020-08-05
  • 来自专栏Nicky's blog

    基于WebSocket的网页即时通讯技术

    本博客介绍基于html5的Websocket网页即时通讯技术,前端开发采用ExtJS前端框架 JavaEE框架:Mybatis、SpringMVC 先去官网下载ExtJS框架的资料文件: https background-color: rgba(250, 218, 90, 0.5); } .l-im-message-header { font-size: 12px; padding: 5px 0px 5px 10px conn, int code, String reason, boolean remote ) { userLeave(conn); } /** * 客户发送消息到服务器时触发事件 arg2) throws IOException, ServletException { // TODO Auto-generated method stub } } 在web.xml 基于ExtJS前端框架的Websocket即时通讯系统 ?

    2.8K30发布于 2019-01-17
  • 来自专栏Flutter & Dart相关文章

    开发技术——FLutter开发即时通讯

    即时通讯简述 即时通讯开发工作中常见的需求,本篇文章以作者工作中使用FLutter开发社交软件即时通讯需求为背景,描述一下即时通讯功能设计的要点。 2. 2.3 服务socket消息 理解了服务socket消息也就理解了服务器即时通讯逻辑,服务器发出的socket消息可以分为两种: 服务器主动发出的消息: 例如,社交软件中的A用户给B用户发出了消息 大部分场景,服务器在接收到客户主动发出的消息之后都需要返回一条消息。 3. 客户实现流程 几个设计客户即时通讯的重点。 Duration(seconds: 1), (data) { pingWaitTime++; print(data.hashCode); if (pingWaitTime % 10 总结 无论是Flutter技术,或是IOS/Android/Web。只要掌握了即时通讯的核心开发流程,不同的技术只是API有些变化。

    2.4K00发布于 2021-11-04
  • 来自专栏即时通讯技术

    搞懂现代Web即时通讯技术一文就够:WebSocket、socket.io、SSE

    1、引言 有关Web即时通讯技术的文章我已整理过很多篇,阅读过的读者可能都很熟悉,早期的Web即时通讯方案,受限于Web客户的技术限制,想实现真正的“即时”通信,难度相当大。 本文将专门介绍WebSocket、socket.io、SSE这几种现代的Web即时通讯技术,从适用场景到技术原理,通俗又不失深度的文字,特别适合对Web即时通讯技术有一定了解,且想深入学习WebSocket : 《新手入门贴:史上最全Web即时通讯技术原理详解》 《Web即时通讯技术盘点:短轮询、Comet、Websocket、SSE》 《详解Web通信方式的演进:从Ajax、JSONP 到 SSE、 在了解socket.io之前,我们先聊聊传统Web即时通讯“长连接”技术的实现背景。 HTTP与WebSocket的关系(上篇) [10] WebSocket详解(五):刨根问底HTTP与WebSocket的关系(下篇) [11] 使用WebSocket和SSE技术实现Web消息推送

    4.3K11发布于 2021-09-07
  • 来自专栏全栈程序员必看

    环信即时通讯——集成客户

    最近公司在开发一款 APP,需要使用环信即时通讯来做及时聊天和直播,找了好多官方的 REST API 发现并没有把直播集成服务写完,于是自己完善了一下,与大家分享 O (∩_∩) O 话不多说上代码 namespace

    1.1K20编辑于 2022-07-08
  • 来自专栏即时通讯技术

    Web即时通讯基础知识补课:一文搞懂跨域的所有问题!

    1、引言 典型的Web即时通讯技术应用场景,主要有以下两种形式: 1)作为完整的即时通讯产品进行应用:比如独立的WebIM产品; 2)作为某个更大系统中的一部分进行应用:比如客服系统(相当于工单系统里嵌入 对于第一种场景,为了更好的划分功能逻辑,一个完整的产品通常都会调用来自于不同服务器提供的各种接口(比如各种服务微服务接口),那么Web跨域问题就无法回避了。 所以,对于Web即时通讯开发者来说,跨域问题是必须掌握的知识范畴。本文将为你讲解跨域问题原理,以及理论联系实际,用实践代码也为你演示解决跨域问题的几种方法。 PS:虽然在开发Web即时通讯应用时,普通的Ajax调用、iframe文件上传等存在跨域问题,但好消息是作为技术核心的 WebSocket 技术是支持跨域的(不存在跨域问题)! (详见《详解Web通信方式的演进:从Ajax、JSONP 到 SSE、Websocke》一文中的第3节“三、JSONP”) 6.2 使用 JSONP,服务器后台代码需要改动吗?

    1.1K30发布于 2019-09-18
  • 来自专栏FHADMIN

    java WebSocket 即时通讯服务代码

    org.java_websocket.handshake.ClientHandshake; import org.java_websocket.server.WebSocketServer; /** * 说明:websocket服务 port)); } public BulletChatServer(InetSocketAddress address) { super(address); } /** * 客户发送消息到服务器时触发事件

    79730编辑于 2022-05-11
  • 来自专栏小鹏的专栏

    10 语音识别

    语音识别 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? • Espnet: https://github.com/espnet/espnet • 实现了主流的语音识别方法 • Speech-Transformer、LAS、CTC、RNN-T • 一个小缺点

    1.9K20发布于 2020-03-25
  • 来自专栏Nicky's blog

    WebSocket系列之的网页即时通讯实现

    本博客介绍基于html5的Websocket网页即时通讯技术,前端开发采用ExtJS前端框架 JavaEE框架:Mybatis、SpringMVC 先去官网下载ExtJS框架的资料文件: https background-color: rgba(250, 218, 90, 0.5); } .l-im-message-header { font-size: 12px; padding: 5px 0px 5px 10px overflow : 'auto', backgroundColor : '#fff' }, tpl : [ '

    ​欢迎使用即时通讯系统 onClose( WebSocket conn, int code, String reason, boolean remote ) { userLeave(conn); } /** * 客户发送消息到服务器时触发事件 FilterChain arg2) throws IOException, ServletException { // TODO Auto-generated method stub } } 在web.xml

    1K10编辑于 2022-05-07
  • 来自专栏muller的测试分享

    Web和App测试小结

    测试时,遇到过Web的项目,也测试过App,对于两者的区别以及一些侧重点,结合网络和自己的实战经验总结记录下来,方便以后测试查看。 首先,从系统架构方面Web项目:B/S 架构,基于浏览器,web测试更新了服务,客户就会同步更新,每个用户的客户都是完全一致的。 移动端相对于Web端来说还有很多特性: 一、网络种类多:移动有很多种网络,无线网络、2G、3G、4G、断网、网速较差以及网络之间的切换时页面的等待,这些对于移动端来说很重要。 操作区域不同也是移动需要关注的测试点,相对于Web的应用来说,一般不会受到屏幕的限制,而且通过鼠标操作更加准确。 七、web和移动的同步:用户在web的操作,在移动是否可以正常的进行同步、显示;在移动的操作,用户登录web账号,信息是否同步等。

    1.1K50编辑于 2022-07-01
  • 来自专栏即时通讯技术

    即时通讯即时通讯技术文集(第8期):移动弱网优化系列

    ,对于移动即时通讯IM应用来说,同样具有启发意义,因为现今主流的移动IM数据通信总结下来无外乎就是长连接+短连接的方式,则短连接的优化在某些场景下对于移动IM来说可能显示的更为特出。 ---- [- 3 -] 移动IM开发者必读(二):史上最全移动弱网络优化方法总结 [链接] http://www.52im.net/thread-1588-1-1.html [摘要]本文接上篇《移动 ---- [- 7 -] 百度APP移动网络深度优化实践分享(二):网络连接优化篇 [链接] http://www.52im.net/thread-2479-1-1.html [摘要]在《百度APP移动网络深度优化实践分享 ---- [- 10-] 美团点评的移动网络优化实践:大幅提升连接成功率、速度等 [链接] http://www.52im.net/thread-3015-1-1.html [摘要] 在这篇文章里你可以了解到美团点评移动架构团队在提升移动通信质量方面所做的尝试 ---- [- 11-] 谈谈移动 IM 开发中登录请求的优化 [链接] http://www.52im.net/thread-282-1-1.html [摘要] 本文将针对移动IM的登录功能给出相应的优化建议

    1.2K20编辑于 2023-02-24
  • 来自专栏嵌入式项目开发

    WebAssembly技术_在Web运行C与C++程序(win10)

    可以以这种文本格式在web页面上查看wasm模块的源码。 标准 WebAssembly 在 web 中被设计成无版本、特性可测试、向后兼容的。 通过官网的介绍看出,WebAssembly技术的目的就是提高web代码性能,总所周知C/C++语言的运行性能一直是天花板,许多 3D 游戏,大型图形编辑相关的工具软件都是用 C/C++ 语言写的,如果能把 C/C++代码搬到web运行,那么理论上可以大大提高web的运行效率。 注: 当前是在win10 64 位环境下操作。 (1)需要先安装python环境,推荐安装python3.X,因为Emscripten编译器里用到了python命令。 打开Edge浏览器(win10自带的浏览器),输入http://127.0.1:8000。 选择hello-emcc.html文件打开。下面是运行效果。

    2.2K20编辑于 2022-05-25
  • 来自专栏冷环渊的全栈工程师历程

    【Netty】Netty+springboot实现IM即时通讯服务

    : 微服务,数据结构,netty,单点登录,SSM ,SpringCloudAlibaba等 ⏩当前专栏:Netty 实战系列 ⏩专栏代码地址: Netty练手项目仓库地址 IM 即时通讯系统 复用 web-im 开源项目的前端代码 地址: https://giuhub.com/javanf/web-im 使用时 安装node 启动服务 我们重写的时候只需要修改app.vue 中的 WebSocket demo整合到了springboot中 确保客户和服务可以正常的通信 分析客户的数据结构 根据不同的逻辑返回对应的数据 “ 数据是启动项目的第一步” 当前回传的功能分析 创建昵称登录 登陆后可以查看在线用户 ],"msg":"冷环渊 : 加入聊天室","bridge":[]} 创建群聊 msg : { "uid":"web_im_1650112539438","type":10,"nickname":" GroupID由服务创建。

    2.4K11编辑于 2022-04-28
  • 来自专栏FunTester

    Web渗透测试初探

    然而,随着我们对 Web 应用程序的依赖越来越深,它们也成为了网络威胁和攻击的主要目标。这就是 Web 应用程序安全测试发挥作用的地方。 Web渗透测试概述 Web 应用程序的渗透测试,俗称为 Web 应用程序渗透测试或黑客攻击,是一项积极而系统的安全评估技术,旨在发现 Web 应用程序中的漏洞。 以下是对 Web 应用程序渗透测试内容的更详细探讨: 目标:Web 应用程序渗透测试的主要目标是发现 Web 应用程序安全性中的漏洞和弱点。恶意黑客可以利用这些漏洞来破坏应用程序的数据或功能。 这样我们才能确保用户数据的安全,维护用户的信任,并保障基于 Web 的服务的顺利运行。 Web 渗透测试的类型 Web 应用程序渗透测试包含多种类型,每一种都专注于评估和揭示特定方面的安全漏洞。 – 验证 Web API 中数据传输的完整性和安全性。 移动应用测试 评估具有 Web 组件或 Web 服务交互的移动应用程序的安全性。 – 检查影响移动应用程序及其后端 Web 服务的漏洞。

    45110编辑于 2024-07-05
  • 来自专栏szhshp 的第四边境中转站

    Web 脚本攻击基础

    简单例子 关于 XSS 的危害 关于预防 XSS CSRF 简单例子 关于预防 CSRF 参考文献 SQL Injection SQL Injection 就是通过把 SQL 命令插入到 Web Wiki 的解释 Cross-site scripting (XSS) is a type of computer security vulnerability typically found in web XSS enables attackers to inject client-side scripts into web pages viewed by other users. 通过上文可以得知, 'XSS enables attackers to inject client-side scripts into web pages viewed by other users' Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的 Web

    91530编辑于 2022-08-15
  • 来自专栏神奇的程序员的专栏

    实现Web指纹登录

    前几天我在想,既然客户软件能调用指纹设备,web应该也可以调用,经过一番折腾后,终于实现了这个功能,并应用在了我的开源项目中。 实现思路 浏览器提供了Web Authentication API, 我们可以利用这套API来调用用户的指纹设备来实现用户信息认证。 注册指纹 首先,我们需要拿到服务返回的用户凭证,随后将用户凭证传给指纹设备,调起系统的指纹认证,认证通过后,回调函数会返回设备id与客户信息,我们需要将这些信息保存在服务,用于后面调用指纹设备来验证用户身份 接下来,我们总结下注册指纹的过程,如下所示: 用户使用其他方式在网站登录成功后,服务返回用户凭证,将用户凭证保存到本地 检测客户是否存在指纹设备 如果存在,将服务返回的用户凭证与用户信息传递给指纹注册函数来创建指纹 身份认证成功,回调函数返回设备id与客户信息,将设备id保存到本地 将设备id与客户信息发送至服务,将其存储到指定用户数据中。

    2.5K20编辑于 2022-04-10
领券