一种基于WebRTC与UDP组播的一对多远程控制桌面的实现思路

本文介绍了使用WebRTC获取视频流和UDP组播实现一对多远程桌面控制的方法,针对UDP传输不可靠问题,提出了包括包序号、缓冲区、权重、合包拆包等解决方案,同时讨论了解决客户端卡顿和服务器负载问题的策略。
摘要由CSDN通过智能技术生成
  • 苏格团队
  • 作者:Jason

前言

笔者最近收到要求 远程控制局域网内多N台终端同步操作 的需求(功能类似windows上的远程桌面)。 最终笔者实现了一种不太成熟,不太稳定,但基本满足现阶段需求的方案,且未来会持续迭代。

出于种种复杂原因,笔者无法使用现在一些市面上很成熟的解决方案。但由于该项目仅限于内部人员使用,即对方案的成熟性,可靠性,可维护性没有太多要求(面部表情逐渐舒展)。

分析

远程控制桌面,无论是1对1还是1对多。核心的数据的无非就是俩类。音视频信息,控制信息 (键盘,鼠标,快捷键等)。当得到这俩个数据时,我们就可以 在控制端实时获取受控端的视频信息以及传输控制指令 。那么接下的操作就是:

1.获取被控制端的视频流

作为一个前端开发工程师,对于如何获取设备的音视频信息这件事,本能的我就想起了 WebRTC (网页即时通讯)协议。
然后就是分析具体的设备和场景是否适用,一顿脑补分析后,我看行(主要是WebRTC本身强大)。

2.发送与接收控制信息

由于具体业务和某些神秘的限定和权衡。采用TCP协议传输消息是不可能的。那没啥好说的了,UDP救我!
虽然他们一次次给我带来的都是,这个不行,那个也不行 的种种限制,但是好消息也是有的,在一系列复杂的操作后,我拿到了受控方模拟鼠标和键盘操作的接口。得,齐活!

UDP传输不可靠怎么办?

开发初期,笔者遇到的最大的问题就是UDP的传输是无连接的,不保证可靠性,但是在该业务场景下 多个受控端需要对比一段操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值