一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种桌面远程控制方法及系统与流程

2021-09-25 04:45:00 来源:中国专利 TAG:远程控制 桌面 方法 系统


1.本发明涉及远程控制技术领域,尤其涉及一种桌面远程控制方法及系统。


背景技术:

2.软件服务是一种把管理软件和实施服务一体化打包的软件服务模式,它包括提供成熟的软件产品、优质的实施培训服务、企业管理咨询服务、后期持续提升服务的项目等的综合。
3.但是提供软件服务时在复杂情况下,例如排查故障、演示功能时,需要进行人工沟通,但是通过人工沟通解决非常低效,无法满足用户的需求。
4.因此,现有技术还有待于改进和发展。


技术实现要素:

5.本发明的主要目的在于提供一种桌面远程控制方法及系统,旨在解决现有技术中提供软件服务时在复杂情况下,例如排查故障、演示功能时,需要进行人工沟通,但是通过人工沟通解决非常低效,无法满足用户的需求的问题。
6.为实现上述目的,本发明提供一种桌面远程控制方法,所述桌面远程控制方法包括如下步骤:
7.服务端通过比较控制码的一致性确定客户端为合法身份后,所述服务端和所述控制端建立远程控制连接;
8.所述客户端发送offersdp给所述服务端,所述服务端捕获桌面视频流,并发送answersdp给所述客户端;
9.所述客户端发送candidate给所述服务端,所述服务端根据candidate建立和所述客户端点对点的连接;
10.所述服务端将所述桌面视频流发送给所述客户端,所述客户端播放所述桌面视频流,并发送控制指令给所述服务端。
11.可选地,所述的桌面远程控制方法,其中,所述服务端通过比较控制码的一致性确定客户端为合法身份后,所述服务端和所述控制端建立远程控制连接,具体包括:
12.所述服务端预先生成第一控制码并存储;
13.所述客户端与所述服务端的websocket服务建立通信连接;
14.所述客户端发送第二控制码给所述服务端,所述服务端接收到所述第二控制码后,将所述第二控制码和所述第一控制码进行对比;
15.当所述第二控制码和所述第一控制码一致时,所述服务端确认所述客户端的合法身份,并通过websocket服务发送远程控制成功的通知给所述客户端。
16.可选地,所述的桌面远程控制方法,其中,所述客户端发送offersdp给所述服务端,所述服务端捕获桌面视频流,并发送answersdp给所述客户端,具体包括:
17.所述客户端创建offersdp,并通过websocket服务将offersdp发送给所述服务端;
18.所述服务端接收到offersdp后,生成answersdp,并捕获桌面视频流;
19.所述服务端通过websocket服务将answersdp发送给所述客户端。
20.可选地,所述的桌面远程控制方法,其中,所述客户端发送candidate给所述服务端,所述服务端根据candidate建立和所述客户端点对点的连接,具体包括:
21.所述客户端创建candidate,并通过websocket服务将candidate发送给所述服务端;
22.所述服务端接收到candidate后,根据candidate中的信息添加连接的代理,并建立和所述客户端点对点的连接。
23.可选地,所述的桌面远程控制方法,其中,所述服务端将所述桌面视频流发送给所述客户端,所述客户端播放所述桌面视频流,并发送控制指令给所述服务端,具体包括:
24.所述服务端通过webrtc将所述桌面视频流发送给所述客户端;
25.所述客户端设置video标签的srcobject指向所述服务端发送的所述桌面视频流,调用play方法播放所述桌面视频流;
26.所述客户端和所述服务端建立webrtc连接后,所述客户端通过datachannel发送控制指令给所述服务端。
27.可选地,所述的桌面远程控制方法,其中,所述第一控制码和所述第二控制码均为6位的随机数。
28.可选地,所述的桌面远程控制方法,其中,所述服务端通过electron实现桌面视频流的捕获。
29.此外,为实现上述目的,本发明还提供一种桌面远程控制系统,其中,所述桌面远程控制系统包括:服务端和客户端;
30.所述服务端通过比较控制码的一致性确定所述客户端为合法身份后,所述服务端和所述控制端建立远程控制连接;
31.所述客户端发送offersdp给所述服务端,所述服务端捕获桌面视频流,并发送answersdp给所述客户端;
32.所述客户端发送candidate给所述服务端,所述服务端根据candidate建立和所述客户端点对点的连接;
33.所述服务端将所述桌面视频流发送给所述客户端,所述客户端播放所述桌面视频流,并发送控制指令给所述服务端。
34.本发明中,服务端通过比较控制码的一致性确定客户端为合法身份后,所述服务端和所述控制端建立远程控制连接;所述客户端发送offersdp给所述服务端,所述服务端捕获桌面视频流,并发送answersdp给所述客户端;所述客户端发送candidate给所述服务端,所述服务端根据candidate建立和所述客户端点对点的连接;所述服务端将所述桌面视频流发送给所述客户端,所述客户端播放所述桌面视频流,并发送控制指令给所述服务端。本发明能够为用户提供远程控制协助,通过远程控制用户电脑,提供点击和键入功能,完成排查故障和演示场景,为用户提供方便。
附图说明
35.图1是本发明桌面远程控制方法的较佳实施例的流程图;
36.图2是本发明桌面远程控制系统的较佳实施例的原理示意图。
具体实施方式
37.为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
38.本发明较佳实施例所述的桌面远程控制方法,如图1和图2所示,所述桌面远程控制方法包括以下步骤:
39.步骤s10、服务端通过比较控制码的一致性确定客户端为合法身份后,所述服务端和所述控制端建立远程控制连接。
40.具体地,所述步骤s10包括:
41.s11、所述服务端预先生成第一控制码并存储;
42.s12、所述客户端与所述服务端的websocket服务建立通信连接;
43.s13、所述客户端发送第二控制码给所述服务端,所述服务端接收到所述第二控制码后,将所述第二控制码和所述第一控制码进行对比;
44.s14、当所述第二控制码和所述第一控制码一致时,所述服务端确认所述客户端的合法身份,并通过websocket服务发送远程控制成功的通知给所述客户端。
45.图2中,控制端就是客户端(即主控终端),傀儡端就是服务端(即被控终端);所述服务端(傀儡端)预先生成第一控制码并存储,其中,所述第一控制码为6位的随机数,所述客户端(控制端)与所述服务端(傀儡端)的websocket服务建立通信连接,websocket是一个支持服务端(傀儡端)和客户端(控制端)双向数据传输的通信协议,所述客户端(控制端)发送第二控制码给所述服务端(傀儡端),其中,所述第二控制码为6位的随机数,所述服务端(傀儡端)接收到所述第二控制码后,将所述第二控制码和所述第一控制码进行对比,当所述第二控制码和所述第一控制码一致时,所述服务端(傀儡端)确认所述客户端(控制端)的合法身份,并通过websocket服务发送远程控制成功的通知给所述客户端(控制端)。
46.步骤s20、所述客户端发送offersdp给所述服务端,所述服务端捕获桌面视频流,并发送answersdp给所述客户端。
47.具体地,所述步骤s20包括:
48.s21、所述客户端创建offersdp,并通过websocket服务将offersdp发送给所述服务端;
49.s22、所述服务端接收到offersdp后,生成answersdp,并捕获桌面视频流;
50.s23、所述服务端通过websocket服务将answersdp发送给所述客户端。
51.如图2所示,所述客户端(控制端)调用rtcpeerconnection.createoffer()来创建offersdp,并通过websocket服务将offersdp发送给所述服务端(傀儡端),调用setlocaldescription后,所述客户端(控制端)请求创建candidate,其中,candidate包括了网络连接的信息,并详细说明了客户端之间直接通信或通过服务器通信的可用方法;所述服务端(傀儡端)接收到offersdp后,通过rtcpeerconnection.createanswer()创建(生成)answersdp,并通过navigator.mediadevices.getusermedia()捕获桌面视频流,然后调用setlocaldescription将answersdp记录为本地描述,此时服务端(傀儡端)已经获知连
接双方的配置,所述服务端(傀儡端)通过websocket服务将answersdp发送给所述客户端(控制端),所述客户端(控制端)调用rtcpeerconnection.setremotedescription()将其记录为远程描述,此时所述客户端(控制端)也获知了双方的连接配置。
52.其中,offersdp和answersdp分别包括了发送的媒体类型,格式,传输协议,端点的ip地址和端口以及描述媒体传输断电所需的其他信息。
53.进一步地,所述服务端(傀儡端)通过electron实现桌面视频流的捕获,electron是一个使用javascript、html和css构建跨平台的桌面应用程序。它基于node.js和chromium,被atom编辑器和许多其他应用程序使用。
54.步骤s30、所述客户端发送candidate给所述服务端,所述服务端根据candidate建立和所述客户端点对点的连接。
55.具体地,所述步骤s30包括:
56.s31、所述客户端创建candidate,并通过websocket服务将candidate发送给所述服务端;
57.s32、所述服务端接收到candidate后,根据candidate中的信息添加连接的代理,并建立和所述客户端点对点的连接。
58.如图2所示,所述客户端(控制端)创建candidate,并通过websocket服务将candidate发送给所述服务端(傀儡端),所述服务端(傀儡端)接收到candidate后,调用addicecandidate方法根据candidate中的信息添加连接的代理,并建立和所述客户端(控制端)点对点的连接。
59.步骤s40、所述服务端将所述桌面视频流发送给所述客户端,所述客户端播放所述桌面视频流,并发送控制指令给所述服务端。
60.具体地,所述步骤s40包括:
61.s41、所述服务端通过webrtc将所述桌面视频流发送给所述客户端;
62.s42、所述客户端设置video标签的srcobject指向所述服务端发送的所述桌面视频流,调用play方法播放所述桌面视频流;
63.s43、所述客户端和所述服务端建立webrtc连接后,所述客户端通过datachannel发送控制指令给所述服务端。
64.如图2所示,所述服务端(傀儡端)通过webrtc的addstream方法将所述桌面视频流发送给所述客户端(控制端),其中,webrtc是一种支持在浏览器客户端之间语音/视频交流和数据分享的技术;所述客户端(控制端)设置video标签的srcobject指向所述服务端(傀儡端)发送的所述桌面视频流,调用play方法播放所述桌面视频流,所述客户端(控制端)和所述服务端(傀儡端)建立webrtc连接后,所述客户端(控制端)通过datachannel发送控制指令给所述服务端(傀儡端)。
65.其中,datachannel是一个在建立webrtc连接后用于客户端互相传输任意类型数据的方式。
66.本发明通过electron可以实现用户桌面流的捕获,通过webrtc和websocket实现画面及用户间连接和指令传输,以及robotjs实现对用户电脑的键盘和鼠标事件进行响应。
67.进一步地,如图2所示,基于上述桌面远程控制方法,本发明还相应提供了一种桌面远程控制系统,其中,所述桌面远程控制系统包括:服务端和客户端。
68.所述服务端通过比较控制码的一致性确定所述客户端为合法身份后,所述服务端和所述控制端建立远程控制连接;所述客户端发送offersdp给所述服务端,所述服务端捕获桌面视频流,并发送answersdp给所述客户端;所述客户端发送candidate给所述服务端,所述服务端根据candidate建立和所述客户端点对点的连接;所述服务端将所述桌面视频流发送给所述客户端,所述客户端播放所述桌面视频流,并发送控制指令给所述服务端。
69.具体地,所述服务端预先生成第一控制码并存储;所述客户端与所述服务端的websocket服务建立通信连接;所述客户端发送第二控制码给所述服务端,所述服务端接收到所述第二控制码后,将所述第二控制码和所述第一控制码进行对比;当所述第二控制码和所述第一控制码一致时,所述服务端确认所述客户端的合法身份,并通过websocket服务发送远程控制成功的通知给所述客户端。
70.具体地,所述客户端创建offersdp,并通过websocket服务将offersdp发送给所述服务端;所述服务端接收到offersdp后,生成answersdp,并捕获桌面视频流;所述服务端通过websocket服务将answersdp发送给所述客户端。
71.具体地,所述客户端创建candidate,并通过websocket服务将candidate发送给所述服务端;所述服务端接收到candidate后,根据candidate中的信息添加连接的代理,并建立和所述客户端点对点的连接。
72.具体地,所述服务端通过webrtc将所述桌面视频流发送给所述客户端;所述客户端设置video标签的srcobject指向所述服务端发送的所述桌面视频流,调用play方法播放所述桌面视频流;所述客户端和所述服务端建立webrtc连接后,所述客户端通过datachannel发送控制指令给所述服务端。
73.综上所述,本发明提供一种桌面远程控制方法及系统,所述方法包括:服务端通过比较控制码的一致性确定客户端为合法身份后,所述服务端和所述控制端建立远程控制连接;所述客户端发送offersdp给所述服务端,所述服务端捕获桌面视频流,并发送answersdp给所述客户端;所述客户端发送candidate给所述服务端,所述服务端根据candidate建立和所述客户端点对点的连接;所述服务端将所述桌面视频流发送给所述客户端,所述客户端播放所述桌面视频流,并发送控制指令给所述服务端。本发明能够为用户提供远程控制协助,通过远程控制用户电脑,提供点击和键入功能,完成排查故障和演示场景,为用户提供方便。
74.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
75.当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的计算机可读存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的计算机可读存储介质可为存储器、磁碟、光盘等。
76.应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保
护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜