首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏后端架构

    Web实时通讯方式

    前言说到实时通讯,就不得不提 WebSocket 技术。WebSocket 建立持久、双向的通信通道,大幅降低了延迟,非常适合即时互动应用,如在线聊天、实时监控等。 因此 WebSocket 为实时通讯应用提供了高效可靠的解决方案,广泛应用于各类互联网应用中。 这种方式还可以搭配消息中间件,提高系统的可靠性和负载均衡能力,非常适合处理大量实时数据的应用。 总的来说,ws 原生方式非常适合各种实时互动类应用。 相比之,ws 原生方式更加简单直接,实现了真正的实时双向通信,延迟低,资源消耗小,非常适合要求高实时性和资源受限的应用,如聊天室、在线游戏等。不过它不支持发布-订阅模式,需自行实现负载均衡和容错。

    71120编辑于 2024-05-16
  • 来自专栏性能与架构

    Web实时通讯方案 - SockJS

    HTML5有了websocket,让我们可以方便开发实时通信程序,但websocket还很年轻,目前还是需要一个更加成熟的实时通讯方案 SockJS 就是一个非常好的选择,SockJS已经为很多实时web 框架提供了底层服务 SockJS 是一个JavaScript库,提供了一个类似WebSocket的对象,用来创建低延时、全双工、跨域通讯服务,拥有一致的、跨浏览器的API,SockJS集成了WebSocket 和其他通信方式,形成一套稳定的实时通讯服务方案 SockJS的特点 浏览器端和服务器端的API都非常简洁,尽可能的靠近WebSocket API 有很强的扩展能力,支持负载均衡 全面支持跨域通信 智能切换其他方式 建立连接非常快 不使用Flash,纯Javascript 服务器端的代码简单,方便使用不同语言开发服务端代码 SockJS的核心 SockJS提供了WebSocket一样的实时通信功能 确保总是可以利用一种传输协议,连接到服务器 负载均衡 单个SockJS server的能力总是有限的,SockJS也提供了扩展思路 最简单的就是使用多域名 例如 sockjs1.example.com 和 sockjs2.

    3.1K70发布于 2018-04-03
  • 来自专栏菩提树下的杨过

    webrtc笔记(2): 1对1实时视频语音通讯原理概述

    开始正文之前,先思考1个问题:2个处于不同网络环境的(具备摄像头/麦克风多媒体设备的)浏览器,要实现点对点的实时视频/语音通讯,难点在哪? 2、彼此要了解对方的网络情况,这样才有可能找到一条相互通讯的链路 类似的道理,在复杂的网络环境中,要建立二个端的连接,得有一条双方都能访问的链路。 ? webrtc通讯过程中,这些网络相关的信息,也得相互交换,找出共同的交集,这个过程也称为“网络协商”。 连接,开始通讯了。 另外,在视频对话框中,通常会有房间(或群)的概念,用于做一些业务上的隔离,这部分逻辑也是在signal server中实现的,综合考虑peer端、信令服务器、stun/turn服务器后,整个1对1实时视频通讯的时序图如下

    2.2K31发布于 2019-07-10
  • Coordinate Desktop: Rust 桌面实时通讯应用

    Coordinate正是基于GPUI构建的一个生产级桌面即时通讯应用,它展示了如何用纯Rust打造一个现代、高效、功能完备的桌面聊天客户端。 这种布局经过大量即时通讯产品的验证,既保证了信息密度,又不会让用户感到拥挤。 在核心功能层面,Coordinate实现了现代IM应用的完整特性集:公开频道、私有团队频道、一对一私聊;支持Markdown格式、代码块、引用等富文本消息;消息回应、pin置顶、收藏、转发等交互功能;实时输入状态提示 两线程之间通过无界mpsc通道通信,定义了清晰的事件类型——UIEvent用于UI向后台发送指令,BackendEvent用于后台向UI返回结果,MQTT事件则处理实时推送。

    35310编辑于 2026-05-07
  • 来自专栏iOS逆向与安全

    进程间的实时通讯方案: local socket(解决扩展和容器应用的实时通讯问题)

    文章目录 前言 I 、方案案例:local socket 1.1 基础知识:Socket 通讯过程 1.2 serverSocket 1.3 clientSocket 1.4 完整demo see also 前言 文章作者 文章标题 文章链接 kunnan 进程间的实时通讯 blog url 如果你对IPC不了解,可以先看下这篇- Inter process Communication ? 2:Keychain 借助系统类 KeychainItemWrapper来使用。常见于免登陆 (同公司产品间) 3:UIPasteboard 粘贴板。淘宝的链接分享。 CocoaAsyncSocket' end target 'localScoket4client' do pod 'CocoaAsyncSocket' end 1.1 基础知识:Socket 通讯过程 NSUTF8StringEncoding]; NSLog(@"Server receiverStr :%@",receiverStr); // 把回车和换行字符去掉,接收到的字符串有时候包括这2

    2.6K51发布于 2021-01-18
  • 来自专栏web推送技术

    Uniapp使用GoEasy实现websocket实时通讯

    2、GoEasy在Uniapp开发中主要用在哪些场景呢? 首先从技术上说,Uniapp支持的所有技术android, iOS和小程序,GoEasy都是完美支持的。 在线拍卖, 在线点餐,在线选座 实时数据展示,实时监控大屏, 金融实时行情显示,设备监控系统 实时位置跟踪,外卖实时跟踪,物流实时跟踪 远程画板,远程医疗,游戏,远程在线授课 ... 3、GoEasy 2、获取GoEasy SDK 两个方式: DCloud Uniapp的插件市场下载:https://ext.dcloud.net.cn/plugin? 必须要考虑的几个问题 websocket IM聊天教程-教你用GoEasy快速实现IM聊天 Websocket直播间聊天室教程-GoEasy快速实现聊天室 微信小程序使用GoEasy实现websocket实时通讯 Uniapp使用GoEasy实现websocket实时通讯 IM聊天教程:发送图片/视频/语音/表情

    4K40发布于 2020-05-20
  • 来自专栏White feathe 的博客

    浏览器使用WebSocket实时通讯

    如果你要有一个支持 WebSocket的服务器(Java、Php等),可以在浏览器中使用一个新的WebSocket服务协议,来打开一个链接:

    1.4K10编辑于 2021-12-08
  • 来自专栏smartguys

    (二): 基于ZeroMQ的实时通讯平台

      基于ZeroMQ的实时通讯平台   上篇:C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)----(一):整体介绍 版权声明 通讯平台作为C++分布式实时应用框架(Cpp Distributed Real-time Application Framework)的最核心模块,承担了分布式实时框架的基础通讯功能。 强大的实时监控能力,可以实时上报每个通讯子节点的TPS和时延等关键性能数据。管控业务进程的能力,业务进程的心跳检测,故障时自动重启、保证系统正常运行。 我们创新地将所有的通讯关系提取到AppInit.json配置文件中,业务代码中不再包含任何与通讯连接相关的内容,使业务代码可以更专注于业务处理,而不用分心于复杂的分布式节点通讯当中。 :StreamSelector, &server, _1, _2)); server.Run(); return 0; }   二、在线更新链接拓扑能力  通讯平台支持在线重新读取更新的配置文件

    2.7K30发布于 2018-08-31
  • 来自专栏iOS逆向与安全

    iOS进程间的实时通讯方案: local socket(解决扩展和容器应用的实时通讯问题)

    https://kunnan.blog.csdn.net/article/details/119773640 iOS 创建 Universal Links 2:Keychain 借助系统类 KeychainItemWrapper I 、方案案例:local socket 采用Local Socket方案(TCP)创建服务端和客户端从而达到通讯效果。 CocoaAsyncSocket' end target 'localScoket4client' do pod 'CocoaAsyncSocket' end 1.1 基础知识:Socket 通讯过程 NSUTF8StringEncoding]; NSLog(@"Server receiverStr :%@",receiverStr); // 把回车和换行字符去掉,接收到的字符串有时候包括这2个 建连、断开、重连、心跳、通用请求) https://kunnan.blog.csdn.net/article/details/77053764 文章作者 文章标题 文章链接 公众号:iOS逆向 进程间的实时通讯

    2.5K30发布于 2021-08-25
  • 来自专栏陶士涵的菜地

    在vuejs中使用websocket进行实时通讯

    在vuejs框架中使用websocket , 可以比较方便的运用到vuejs框架的响应式系统 , 以及一些简单的生命周期函数

    2K20发布于 2020-06-10
  • 来自专栏前端食堂

    前端音视频WebRTC实时通讯的核心

    通过上两个系列专栏的学习,我们对前端音视频及 WebRTC 有了初步的了解,是时候敲代码实现一个 Demo 来真实感受下 WebRTC 实时通讯的魅力了。 还没有看过的同学请移步: 前端音视频的那些名词 前端音视频之WebRTC初探 RTCPeerConnection RTCPeerConnection 类是在浏览器下使用 WebRTC 实现实时互动音视频系统中最核心的类 2.获取本地媒体描述信息(SDP),并与对端进行交换。 3.获取网络信息(Candidate,IP 地址和端口),并与远端进行交换。 localStream.getTracks().forEach((track) => { localPeerConnection.addTrack(track, localStream) }) // 2.

    3.3K20发布于 2020-11-02
  • 来自专栏流媒体音视频

    H5和WebRTC实时通讯方案对比

    “ 目前,实时音视频通讯的实现方案在浏览器上有两种,分别是H5和WebRTC,前者可以拉流观看,后者可以实现推流和拉流。” 在浏览器上实现音视频实时通讯,H5和WebRTC是两种可选方案,但是二者有明显的区别,优劣也比较突出。 01 — H5的实时通讯方案 浏览器H5的实时方案有明显的优势和劣势,优势是开发成本比较低,开发周期短,劣势是只能拉流,不能推流,不能实现互动连麦。另外,浏览器H5方案延迟比较大。 02 — WebRTC的实时通讯方案 尽管浏览器H5方案非常普遍,开发方便但是不能连麦直播。那么在浏览器上能不能实现连麦直播呢?答案是肯定的,它就是WebRTC。 最早是由谷歌发起的P2P实时通讯方案,在Chrome浏览器上进行了长期而广泛的验证,目前很多浏览器都已经支持了WebRTC。

    2K20发布于 2021-06-29
  • 来自专栏流媒体音视频

    H5和WebRTC实时通讯方案对比

    目前,实时音视频通讯的实现方案在PC浏览器上有两种,分别是 H5 和 WebRTC,前者可以拉流观看,后者可以实现推流和拉流。 正文 如果想要在浏览器上实现音视频的实时通讯,H5和WebRTC是两种可选方案,但是二者有明显的区别,优劣也比较突出。今天,我们就来简单了解一下。 H5的实时通讯方案 浏览器H5的实时方案有明显的优势和劣势,优势是开发成本比较低,开发周期短,劣势是只能拉流,不能推流,不能实现互动连麦。另外,浏览器H5方案延迟比较大。 WebRTC的实时通讯方案 尽管浏览器H5方案非常普遍,开发方便但是不能连麦直播。那么在浏览器上能不能实现连麦直播呢?答案是肯定的,它就是WebRTC。 最早是由谷歌发起的P2P实时通讯方案,在Chrome浏览器上进行了长期而广泛的验证,目前很多浏览器都已经支持了WebRTC。

    2.3K30发布于 2021-05-04
  • 来自专栏祥的专栏

    使用Simulink进行UDP通讯2

    接上文 (Matlab使用Simulink进行UDP通讯1),如上图所示,在对这个4个数据进行打包的时候可以发现 uint8【即unsigned char】是占1个字节,而double是占用8个字节。 即,对应的有效数据: 数据1 uint8类型 占1个字节 数据2 double类型 占8个字节 数据3 double类型 占8个字节 数据4 uint8类型 占1 字节]对齐 当 Byte alignment = 2 时,也就是把这个 uint8 对齐为 2个字节 得到的数据如下(多组数据,1列一组): 41 00 00 00 00 00 00 00 00 41 00 39 13 17 36 BB 67 07 40 7B 14 AE 47 E1 7A 94 3F 61 00 当参数“Byte alignment”为“2” 本来只占1个字节,而double占8个字节) ---- ---- 总结 一般没有特殊要求时还是将“Byte alignment”设为“1”较容易理解和操作,尤其是Matlab与非Matlab环境进行UDP通讯更要注意这个参数

    2K10发布于 2020-03-10
  • 来自专栏linux驱动个人学习

    I2C通讯协议

    硬件结构 每一个I2C总线器件内部的SDA、SCL引脚电路结构都是一样的,引脚的输出驱动与输入缓冲连在一起。 (1)由于 SDA、SCL 为漏极开路结构,借助于外部的上拉电阻实现了信号的“线与”逻辑; (2)引脚在输出信号的同时还将引脚上的电平进行检测,检测是否与刚才输出一致。 这就是时钟同步,它解决了I2C总线的速度同步问题。 4、主机发送数据流程 (1)主机在检测到总线为“空闲状态”(即 SDA、SCL 线均为高电平)时,发送一个启动信号“S”,开始一次通信的开始 (2)主机接着发送一个命令字节。 另外I2C的通信速率为100Kb,快速为400Kb

    1.9K60发布于 2018-03-07
  • 来自专栏技术杂记

    进程间通讯(七).socket(2

    /tcpclient.x 127.0.0.1 hello 2 -->OK emacs@ubuntu:~/c$ 服务端会打印信息并且返回 emacs@ubuntu:~/c$ . PF_INET #define AF_INET6 PF_INET6 emacs@ubuntu:/usr/include$ grep PF_INET bits/socket.h #define PF_INET 2

    91610发布于 2021-09-15
  • 来自专栏技术杂记

    进程间通讯(二).fifo(2

    . */ #define W_OK 2 /* Test for write permission. */ #define X_OK 1 #define _ASM_GENERIC_ERRNO_BASE_H #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 call */ #define EIO 5 /* I/O error */ #define ENXIO 6 /* No such device or address */ #define E2BIG

    85420发布于 2021-09-16
  • 来自专栏web推送技术

    微信小程序使用GoEasy实现websocket实时通讯

    2、获取GoEasy SDK 下载 https://cdn.goeasy.io/download/goeasy-1.0.11.js import GoEasy from '. ,NodeJS,PHP,Ruby和Python等常见语言调用REST API的代码,这里获取更多详情:https://www.goeasy.io/cn/doc/server/publish.html 2、 在线拍卖, 在线点餐,在线选座 实时数据展示,实时监控大屏, 金融实时行情显示,设备监控系统 实时位置跟踪,外卖实时跟踪,物流实时跟踪 远程画板,远程医疗,游戏,远程在线授课 5、GoEasy的文档为什么这么简单 必须要考虑的几个问题 websocket IM聊天教程-教你用GoEasy快速实现IM聊天 Websocket直播间聊天室教程-GoEasy快速实现聊天室 微信小程序使用GoEasy实现websocket实时通讯 Uniapp使用GoEasy实现websocket实时通讯 IM聊天教程:发送图片/视频/语音/表情

    3.1K103发布于 2020-05-14
  • 来自专栏技术杂记

    进程间通讯(五).message queue(2

    . */ #define IPC_STAT 2 /* Get `ipc_perm' options. */ #ifdef __USE_GNU # define 如果不指定这个参数,E2BIG 将被返回,而消息则留在队列中不被取出。当消息从队列内取出后,相应的消息就从队列中删除了。 time_t msg_rtime; /* time of last msgrcv command */ #if __WORDSIZE == 32 unsigned long int __unused2; short int __pad1; unsigned short int __seq; /* Sequence number. */ unsigned short int __pad2; unsigned long int __unused1; unsigned long int __unused2; }; Tip: 消息队列原来的实施目的是提供高于一般速度的IPC

    1.1K20发布于 2021-09-15
  • 上帝之眼APP——实时定位监控、即时通讯

    Android studio 2.3.1 极光推送IM SDK 百度鹰眼SDK 背景介绍 定位监控系统,不仅仅是用于监视、监控情景,而更重要的是应用在安全领域,例如儿童、老人外出,如果能将其自身的位置实时共享给家人 自身位置实时定位 自身轨迹查询 查看指定用户实时最新位置(需添加好友) 查看制定用户运动轨迹 坐标位置纠偏、去噪、抽稀、绑路 坐标精度过滤 轨迹分析(停留点等信息) 后台静默运行 即时通信(文字信息,图片 2.登录 ? 3.用户注册 ? ? ? 3.主界面 ? 3.轨迹查询 ? ? ? 4.监控列表 ? 5.查询其他用户位置信息、轨迹、轨迹分析 ? 6.即时通信 ? 7.个人中心(待开发) ?

    4.8K40发布于 2018-05-09
领券