CN117687589A - 屏幕共享方法、系统、设备及介质 - Google Patents
屏幕共享方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN117687589A CN117687589A CN202311691090.9A CN202311691090A CN117687589A CN 117687589 A CN117687589 A CN 117687589A CN 202311691090 A CN202311691090 A CN 202311691090A CN 117687589 A CN117687589 A CN 117687589A
- Authority
- CN
- China
- Prior art keywords
- client
- room
- control
- authorization
- name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000013475 authorization Methods 0.000 claims abstract description 80
- 230000004044 response Effects 0.000 claims abstract description 46
- 230000001360 synchronised effect Effects 0.000 claims abstract description 8
- 230000009471 action Effects 0.000 claims description 56
- 238000004891 communication Methods 0.000 claims description 43
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了屏幕共享方法、装置、设备及介质,应用于数据处理领域,通过接收多个客户端中的第一客户端的授权请求,授权请求用于请求获取所述房间的控制权限;根据授权请求得到请求应答,当请求应答对应同意授权,将房间的控制权限主体修改为第一客户端;接收第一客户端的控制指令,根据控制指令对房间的当前页面进行操作得到目标页面;向多个客户端发送目标页面进行同步显示;能满足不同客户端对房间的页面的控制需求,使房间的页面的控制权限不局限于创建房间的客户端,支持多端控制实现屏幕共享。
Description
技术领域
本申请涉及数据处理领域,尤其涉及屏幕共享方法、系统、设备及介质。
背景技术
在数字医疗领域,身处各地的医护人员通常是通过网络会议来探讨医疗案例。作为房主的用户通过客户端创建房间,然后邀请其他用户接入房间,房间的页面会同步显示在各个用户的客户端来显示屏幕共享。房主可以通过共享页面给其他用户进行讲解,但是往往只有房主具有房间的控制权限,只有房主才能对房间的页面进行操作,其他用户并没有房间的控制权限,并不能对房间的页面进行操作,这并不利于其他用户针对页面的相关内容进行讨论交流。
发明内容
本申请的目的在于至少一定程度上解决相关技术中存在的技术问题之一。
为此,本申请实施例的一个目的在于提供屏幕共享方法、系统、设备及介质,支持多种类型客户端对屏幕进行控制,支持多端控制实现屏幕共享。
本申请的第一方面的实施例,提供了一种屏幕共享方法,应用于控制模块,所述屏幕共享方法包括:
接收多个客户端中的第一客户端的授权请求,其中,多个所述客户端接入房间,所述授权请求用于请求获取所述房间的控制权限;
根据所述授权请求得到请求应答,当所述请求应答对应同意授权,将所述房间的控制权限主体修改为所述第一客户端;
接收所述第一客户端的控制指令,根据所述控制指令对所述房间的当前页面进行操作得到目标页面;
向多个所述客户端发送所述目标页面进行同步显示。
根据本申请的第一方面的实施例,所述当所述请求应答对应同意授权,将所述房间的控制权限主体修改为所述第一客户端,包括:
当所述请求应答对应同意授权,向所述第一客户端发送对应同意授权的请求应答;
查询当前的房间的控制权限主体所对应的客户端,向当前的房间的控制权限主体所对应的客户端发送拒绝授权的信息;
将所述房间的控制权限主体修改为所述第一客户端。
根据本申请的第一方面的实施例,在根据所述授权请求得到请求应答之后,所述屏幕共享方法还包括:
当所述请求应答对应拒绝授权,向所述第一客户端发送对应拒绝授权的请求应答。
根据本申请的第一方面的实施例,所述屏幕共享方法还包括:
接收来自当前的房间的控制权限主体所对应的客户端的房间内容模式切换请求;
根据所述房间内容模式切换请求将房间内容模式切换为画板模式或网页页面模式;
其中,当所述房间内容模式处于所述画板模式,允许接收多个所述客户端的绘制指令,并根据所述绘制指令对所述房间的当前页面进行绘制操作;
当所述房间内容模式处于所述网页页面模式,允许接收当前的房间的控制权限主体所对应的客户端的滑动指令,并根据所述滑动指令对所述房间的当前页面进行滑动操作。
根据本申请的第一方面的实施例,所述根据所述控制指令对所述房间的当前页面进行操作得到目标页面,包括:
根据所述控制指令得到模块名称、方法名称和参数;
根据所述参数获取动作名称和动作参数;
根据所述模块名称、所述方法名称、所述动作名称和所述动作参数,对所述房间的当前页面进行操作得到目标页面。
根据本申请的第一方面的实施例,所述第一客户端按照以下方式发送所述控制指令:
监听对所述房间的页面的操作事件;
根据所述操作事件得到所述模块名称、所述方法名称、所述动作名称和所述动作参数;
根据所述模块名称、所述方法名称、所述动作名称和所述动作参数组装成预设数据格式的控制指令;
发送所述控制指令。
根据本申请的第一方面的实施例,所述控制模块设置于第二客户端,所述第二客户端为多个所述客户端中创建所述房间的客户端。
本申请的第二方面的实施例,一种屏幕共享系统,包括第一客户端和第二客户端,所述第二客户端设置有控制模块;
所述第一客户端用于发送授权请求和控制指令,其中,所述授权请求用于请求获取所述房间的控制权限;
所述第二客户端用于创建房间;
所述控制模块用于根据所述授权请求得到请求应答,当所述请求应答对应同意授权,将所述房间的控制权限主体修改为所述第一客户端,根据所述控制指令对所述房间的当前页面进行操作得到目标页面,向所述第一客户端和所述第二客户端发送所述目标页面进行同步显示。
本申请的第三方面的实施例,一种电子设备,包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现如上所述的屏幕共享方法。
本申请的第四方面的实施例,一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上所述的屏幕共享方法。
本申请实施例所公开的屏幕共享方法、系统、设备及介质,通过接收多个客户端中的第一客户端的授权请求,授权请求用于请求获取所述房间的控制权限;根据授权请求得到请求应答,当请求应答对应同意授权,将房间的控制权限主体修改为第一客户端;接收第一客户端的控制指令,根据控制指令对房间的当前页面进行操作得到目标页面;向多个客户端发送目标页面进行同步显示;能满足不同客户端对房间的页面的控制需求,使房间的页面的控制权限不局限于创建房间的客户端,支持多端控制实现屏幕共享。
附图说明
为了更清楚地说明本申请实施例或者现有技术中的技术方案,下面对本申请实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1是本申请的实施例所提供的屏幕共享方法的步骤图;
图2是请求应答对应同意授权时的应对步骤图;
图3是请求应答对应拒绝授权时的应对步骤图;
图4是第一客户端向控制模块发送控制指令步骤的子步骤图;
图5是控制模块根据控制指令对房间的当前页面进行操作得到目标页面步骤的子步骤图;
图6是模式切换步骤的子步骤图;
图7是本申请的实施例所提供的电子设备的结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本说明书的描述中,参考术语“一个实施方式”、“另一实施方式”或“某些实施方式”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在数字医疗领域,身处各地的医护人员通常是通过网络会议来探讨医疗案例。作为房主的用户通过客户端创建房间,然后邀请其他用户接入房间,房间的页面会同步显示在各个用户的客户端来显示屏幕共享。房主可以通过共享页面给其他用户进行讲解,但是往往只有房主具有房间的控制权限,只有房主才能对房间的页面进行操作,其他用户并没有房间的控制权限,并不能对房间的页面进行操作,这并不利于其他用户针对页面的相关内容进行讨论交流。
为了解决以上的问题,本申请的实施例,提供了屏幕共享系统。
屏幕共享系统,包括多个客户端。
客户端分为第一客户端和第二客户端。
第二客户端为创建房间的客户端,第二客户端设置有屏幕共享作用的控制模块;第一客户端为接入房间的客户端。
屏幕共享系统应用如下的屏幕共享方法。
参照图1,针对于控制模块的角度,屏幕共享方法,包括但不限于以下步骤:
步骤S100,接收第一客户端的授权请求;
步骤S200,根据授权请求得到请求应答,当请求应答对应同意授权,将房间的控制权限主体修改为第一客户端;
步骤S300,接收第一客户端的控制指令,根据控制指令对房间的当前页面进行操作得到目标页面;
步骤S400,向多个客户端发送目标页面进行同步显示。
在步骤S100之前,第二客户端创建房间,多个第一客户端接入房间。第一客户端可以是被第二客户端邀请接入房间的,也可以是第一客户端通过用户输入的公开的房间名称和房间密码接入房间的。
通常地,第一客户端为小程序等轻量级的应用程序。第一客户端是不需要下载安装即可使用的应用,并作为客户端来使用。通过扫描二维码或点击链接即可使用该第一客户端。
第二客户端为在电脑端运行的应用程序或在手机端运行的APP形式的应用程序。
对于步骤S100,当第一客户端的用户需要获取房间的控制权限,第一客户端向第二客户端的控制模块发送授权请求,第二客户端的控制模块接收第一客户端所发送的授权请求,授权请求用于请求获取房间的控制权限。
对于步骤S200,第二客户端的控制模块接收第一客户端所发送的授权请求之后,第二客户端的控制模块对第一客户端所发送的授权请求作出应答,得到请求应答。
参照图2,当请求应答对应同意授权,执行步骤S211、步骤S212和步骤S213。
步骤S211,向第一客户端发送对应同意授权的请求应答;
步骤S212,查询当前的房间的控制权限主体所对应的客户端,向当前的房间的控制权限主体所对应的客户端发送拒绝授权的信息;
步骤S213,将房间的控制权限主体修改为第一客户端。
参照图3,当请求应答对应拒绝授权,执行步骤S214。
步骤S214,向第一客户端发送对应拒绝授权的请求应答。
通常地,将房间的控制权限主体设置为只有一个,避免对房间的控制产生混乱。即当房间的控制权限主体为第一客户端A,则除第一客户端A以外的其他客户端无法对房间进行控制。
授权请求相关的数据定义为:{"contentAuthStatus":"a",};
其中,contentAuthStatus代表当前用户的控制权限申请状态,a为contentAuthStatus的值,有三种类型的值,分别为0、1和2;具体地,0表示未定/授权拒绝,1表示申请授权中,2表示授权通过。
对于步骤S100,第一客户端向第二客户端的控制模块发送授权请求,授权请求的信息格式为:{contentAuthStatus:1}。
对于步骤S211,第二客户端的控制模块在接收到第一客户端所发送的授权请求,根据授权请求向第一客户端发送对应同意授权的请求应答,对应同意授权的请求应答的信息格式为:{contentAuthStatus:2}。
对于步骤S212,查询当前的房间的控制权限主体所对应的客户端,向当前的房间的控制权限主体所对应的客户端发送拒绝授权的信息,拒绝授权的信息的信息格式为:{contentAuthStatus:0}。
对于步骤S213,将房间的控制权限主体修改为第一客户端,向房间发送修改信息,修改信息的信息格式为:{contentAuth:{type:上一个模式,usesrId:'第一客户端用户的ID'}}。
对于步骤S214,第二客户端的控制模块在接收到第一客户端所发送的授权请求,根据授权请求向第一客户端发送对应拒绝授权的请求应答,对应拒绝授权的请求应答的信息格式为:{contentAuthStatus:0}。
参照图4,对于步骤S300,第一客户端向控制模块发送控制指令,包括但不限于以下步骤:
步骤S311,监听对房间的页面的操作事件;
步骤S312,根据操作事件得到模块名称、方法名称、动作名称和动作参数;
步骤S313,根据模块名称、方法名称、动作名称和动作参数组装成预设数据格式的控制指令;
步骤S314,发送控制指令。
对于步骤S311,当用户通过输入设备进行操作,会通过第一客户端对房间的页面发生操作事件。第一客户端通过监听对房间的页面的操作事件,可以知道用户是否通过输入设备进行操作,通过第一客户端对房间的页面发生操作事件。
对于步骤S312,当用户通过输入设备进行操作,通过第一客户端对房间的页面发生操作事件,第一客户端根据操作事件得到模块名称、方法名称、动作名称和动作参数。
对于步骤S313,第一客户端根据模块名称、方法名称、动作名称和动作参数组装成预设数据格式的控制指令。
例如,用户通过转动鼠标的滚轮,通过第一客户端对房间的页面发生滑动的操作事件。第一客户端根据该操作事件得到模块名称为SameScreen,方法名称为ThroughTransmission,动作名称为scroll,动作参数为x:100,y:100。
控制指令的数据定义如下:
其中,moduleName表示模块名称;methodName表示方法名称;actionName表示动作名称,actionPayload表示动作参数。
对于步骤S314,第一客户端向控制模块发送控制指令。
控制模块接收第一客户端的控制指令。
参照图5,控制模块根据控制指令对房间的当前页面进行操作得到目标页面,包括但不限于以下步骤:
步骤S321,根据控制指令得到模块名称、方法名称和参数;
步骤S322,根据参数获取动作名称和动作参数;
步骤S323,根据模块名称、方法名称、动作名称和动作参数,对房间的当前页面进行操作得到目标页面。
控制模块接收到控制指令,对控制指令进行解释,得到如下的数据定义:
由moduleName:"SameScreen"得到模块名称,由methodName:"ThroughTransmission"得到方法名称,由"param"得到参数,由"actionName":"scroll"得到动作名称,由"actionPayload"得到动作参数。
房间的页面为H5页面。
H5页面即HTML5页面,是一种基于HTML5技术开发的移动端网页。H5页面可以在移动端和PC端上进行访问,与原生应用程序相比,H5页面不需要安装,无需下载安装包,用户可以直接在浏览器中打开使用,具有便捷、快速、轻量级的特点。
H5页面的原理是基于WebView技术,WebView是一种嵌入到应用程序中的浏览器控件,可以让应用程序加载和显示网页内容。在Android系统中,WebView是一个系统级别的控件,可以与应用程序进行交互,提供了丰富的API接口,可以实现与网页交互的功能,例如JSBridge、页面跳转、数据交互等。在iOS系统中,UIWebView和WKWebView是两种常用的WebView控件,它们也提供了类似的API接口。
H5页面与第二客户端通过即时通信方式进行通信。
创建web容器,H5页面通过桥通道与web容器连接,第二客户端建立即时通信通道,第二客户端通过即时通信通道与APP IM连接,第二客户端与web容器连接,进而实现H5页面与第二客户端通过即时通信方式进行通信。
H5页面与第一客户端通过即时通信方式进行通信。
第一客户端建立小程序IM和即时通信通道,H5页面建立H5 IM,第一客户端的小程序IM通过即时通信通道与H5 IM连接,进而实现H5页面与第一客户端通过即时通信方式进行通信。
即时通信(Instant Messenger,简称IM)是基于TCP/IP或UDP进行通信的。基于TCP/IP的即时通信是以数据流的形式,将传输数据经分割、打包后,通过两台机器之间建立起的虚电路,进行连续的、双向的、严格保证数据正确性的文件传输协议。基于UDP的即时通信是是以数据报的形式,对拆分后的数据的先后到达顺序不做要求的文件传输协议。
即时通信的步骤如下:
首先,用户A输入自己的用户名和密码登录即时通讯服务器,服务器通过读取用户数据库来验证用户身份,如果用户名、密码都正确,就登记用户A的IP地址、IM客户端软件的版本号及使用的TCP/UDP端口号,然后返回用户A登录成功的标志,此时用户A在IM系统中的状态为在线(Online Presence)。
其次,根据用户A存储在IM服务器上的好友列表(Buddy List),服务器将用户A在线的相关信息发送到也同时在线的即时通讯好友的PC机,这些信息包括在线状态、IP地址、IM客户端使用的TCP端口(Port)号等,即时通讯好友PC机上的即时通讯软件收到此信息后将在PC桌面上弹出一个小窗口予以提示。
然后,即时通讯服务器把用户A存储在服务器上的好友列表及相关信息回送到他的PC机,这些信息包括也在线状态、IP地址、IM客户端使用的TCP端口(Port)号等信息,用户A的PC机上的IM客户端收到后将显示这些好友列表及其在线状态。
接下来,如果用户A想与他的在线好友用户B聊天,他将直接通过服务器发送过来的用户B的IP地址、TCP端口号等信息,直接向用户B的PC机发出聊天信息,用户B的IM客户端软件收到后显示在屏幕上,然后用户B再直接回复到用户A的PC机,这样双方的即时文字消息就不通过IM服务器中转,而是通过网络进行点对点的直接通讯,这称为对等通讯方式(Peer To Peer)。在商用即时通讯系统中,如果用户A与用户B的点对点通讯由于防火墙、网络速度等原因难以建立或者速度很慢,IM服务器还提供消息中转服务,即用户A和用户B的即时消息全部先发送到IM服务器,再由服务器转发给对方。早期的IM系统,在IM客户端和IM服务器之间通讯采用采用UDP协议,UDP协议是不可靠的传输协议,而在IM客户端之间的直接通讯中,采用具备可靠传输能力的TCP协议。随着用户需求和技术环境的发展,目前主流的即时通讯系统倾向于在即时通讯客户端之间、即时通讯客户端和即时通讯服务器之间都采用TCP协议。
一方面,C1每次想和C2通信,先向S递一个申请,然后S同意,把信息转交C2,以后每次通信都这样。
这种方式对服务器的性能要求比较高,要求服务器可以同时处理很高的连接数,因为所有信息都要通过服务器进行传递,同时,它可以对所传递的信息进行控制。
另一方面,C1第一次想和C2通信,向S递一个申请,S同意,告诉C1,C2,然后C1和C2之间建立了一条连接,可以直接通信,无需经过S。
这种方式仅仅是用户登陆或下线时与服务器进行连接,平时进行通信时,是用户之间直接进行点对点的连接。
对于步骤S400,控制模块通过房间的IM通道向多个客户端发送目标页面,使多个客户端同步显示H5页面。
另外,房间设置有网页模式和画板模式。通过模式切换步骤在网页模式和画板模式质检进行切换。
参照图6,模式切换步骤,包括但不限于以下步骤:
步骤S510,接收来自当前的房间的控制权限主体所对应的客户端的房间内容模式切换请求;
步骤S520,根据房间内容模式切换请求将房间内容模式切换为画板模式或网页页面模式;
其中,当房间内容模式处于画板模式,允许接收多个客户端的绘制指令,并根据绘制指令对房间的当前页面进行绘制操作;
当房间内容模式处于网页页面模式,允许接收当前的房间的控制权限主体所对应的客户端的滑动指令,并根据滑动指令对房间的当前页面进行滑动操作。
在客户端的界面设置有模式切换按键。当用户点击模式切换按键,当前的房间的控制权限主体所对应的客户端发送房间内容模式切换请求。
房间内容模式切换请求的数据定义如下:
其中,type代表会客厅内容模式,有两种类型的值,1表示画板模板,2表示网页模式。userId表示当前的房间的控制权限主体所对应的客户端的ID信息。
对于屏幕共享系统,第一客户端用于发送授权请求和控制指令,其中,授权请求用于请求获取房间的控制权限;第二客户端用于创建房间;控制模块用于根据授权请求得到请求应答,当请求应答对应同意授权,将房间的控制权限主体修改为第一客户端,根据控制指令对房间的当前页面进行操作得到目标页面,向第一客户端和第二客户端发送目标页面进行同步显示。
第二客户端创建房间,多个第一客户端接入房间。第一客户端可以是被第二客户端邀请接入房间的,也可以是第一客户端通过用户输入的公开的房间名称和房间密码接入房间的。
通常地,第一客户端为小程序等轻量级的应用程序。第一客户端是不需要下载安装即可使用的应用,并作为客户端来使用。通过扫描二维码或点击链接即可使用该第一客户端。
第二客户端为在电脑端运行的应用程序或在手机端运行的APP形式的应用程序。
当第一客户端的用户需要获取房间的控制权限,第一客户端向第二客户端的控制模块发送授权请求,第二客户端的控制模块接收第一客户端所发送的授权请求,授权请求用于请求获取房间的控制权限。
第二客户端的控制模块接收第一客户端所发送的授权请求之后,第二客户端的控制模块对第一客户端所发送的授权请求作出应答,得到请求应答。
当请求应答对应同意授权,向第一客户端发送对应同意授权的请求应答;查询当前的房间的控制权限主体所对应的客户端,向当前的房间的控制权限主体所对应的客户端发送拒绝授权的信息;将房间的控制权限主体修改为第一客户端。
当请求应答对应拒绝授权,向第一客户端发送对应拒绝授权的请求应答。
通常地,将房间的控制权限主体设置为只有一个,避免对房间的控制产生混乱。即当房间的控制权限主体为第一客户端A,则除第一客户端A以外的其他客户端无法对房间进行控制。
授权请求相关的数据定义为:{"contentAuthStatus":"a",};
其中,contentAuthStatus代表当前用户的控制权限申请状态,a为contentAuthStatus的值,有三种类型的值,分别为0、1和2;具体地,0表示未定/授权拒绝,1表示申请授权中,2表示授权通过。
第一客户端向第二客户端的控制模块发送授权请求,授权请求的信息格式为:{contentAuthStatus:1}。
第二客户端的控制模块在接收到第一客户端所发送的授权请求,根据授权请求向第一客户端发送对应同意授权的请求应答,对应同意授权的请求应答的信息格式为:{contentAuthStatus:2}。
查询当前的房间的控制权限主体所对应的客户端,向当前的房间的控制权限主体所对应的客户端发送拒绝授权的信息,拒绝授权的信息的信息格式为:{contentAuthStatus:0}。
将房间的控制权限主体修改为第一客户端,向房间发送修改信息,修改信息的信息格式为:{contentAuth:{type:上一个模式,usesrId:'第一客户端用户的ID'}}。
第二客户端的控制模块在接收到第一客户端所发送的授权请求,根据授权请求向第一客户端发送对应拒绝授权的请求应答,对应拒绝授权的请求应答的信息格式为:{contentAuthStatus:0}。
第一客户端向控制模块发送控制指令,监听对房间的页面的操作事件;根据操作事件得到模块名称、方法名称、动作名称和动作参数;根据模块名称、方法名称、动作名称和动作参数组装成预设数据格式的控制指令;发送控制指令。当用户通过输入设备进行操作,会通过第一客户端对房间的页面发生操作事件。第一客户端通过监听对房间的页面的操作事件,可以知道用户是否通过输入设备进行操作,通过第一客户端对房间的页面发生操作事件。
当用户通过输入设备进行操作,通过第一客户端对房间的页面发生操作事件,第一客户端根据操作事件得到模块名称、方法名称、动作名称和动作参数。
第一客户端根据模块名称、方法名称、动作名称和动作参数组装成预设数据格式的控制指令。
例如,用户通过转动鼠标的滚轮,通过第一客户端对房间的页面发生滑动的操作事件。第一客户端根据该操作事件得到模块名称为SameScreen,方法名称为ThroughTransmission,动作名称为scroll,动作参数为x:100,y:100。
控制指令的数据定义如下:
其中,moduleName表示模块名称;methodName表示方法名称;actionName表示动作名称,actionPayload表示动作参数。
第一客户端向控制模块发送控制指令。
控制模块接收第一客户端的控制指令。
控制模块根据控制指令对房间的当前页面进行操作得到目标页面,根据控制指令得到模块名称、方法名称和参数;根据参数获取动作名称和动作参数;根据模块名称、方法名称、动作名称和动作参数,对房间的当前页面进行操作得到目标页面。
控制模块接收到控制指令,对控制指令进行解释,得到如下的数据定义:
/>
由moduleName:"SameScreen"得到模块名称,由methodName:"ThroughTransmission"得到方法名称,由"param"得到参数,由"actionName":"scroll"得到动作名称,由"actionPayload"得到动作参数。
房间的页面为H5页面。
H5页面即HTML5页面,是一种基于HTML5技术开发的移动端网页。H5页面可以在移动端和PC端上进行访问,与原生应用程序相比,H5页面不需要安装,无需下载安装包,用户可以直接在浏览器中打开使用,具有便捷、快速、轻量级的特点。
H5页面的原理是基于WebView技术,WebView是一种嵌入到应用程序中的浏览器控件,可以让应用程序加载和显示网页内容。在Android系统中,WebView是一个系统级别的控件,可以与应用程序进行交互,提供了丰富的API接口,可以实现与网页交互的功能,例如JSBridge、页面跳转、数据交互等。在iOS系统中,UIWebView和WKWebView是两种常用的WebView控件,它们也提供了类似的API接口。
H5页面与第二客户端通过即时通信方式进行通信。
创建web容器,H5页面通过桥通道与web容器连接,第二客户端建立即时通信通道,第二客户端通过即时通信通道与APP IM连接,第二客户端与web容器连接,进而实现H5页面与第二客户端通过即时通信方式进行通信。
H5页面与第一客户端通过即时通信方式进行通信。
第一客户端建立小程序IM和即时通信通道,H5页面建立H5 IM,第一客户端的小程序IM通过即时通信通道与H5 IM连接,进而实现H5页面与第一客户端通过即时通信方式进行通信。
即时通信(Instant Messenger,简称IM)是基于TCP/IP或UDP进行通信的。基于TCP/IP的即时通信是以数据流的形式,将传输数据经分割、打包后,通过两台机器之间建立起的虚电路,进行连续的、双向的、严格保证数据正确性的文件传输协议。基于UDP的即时通信是是以数据报的形式,对拆分后的数据的先后到达顺序不做要求的文件传输协议。
即时通信的步骤如下:
首先,用户A输入自己的用户名和密码登录即时通讯服务器,服务器通过读取用户数据库来验证用户身份,如果用户名、密码都正确,就登记用户A的IP地址、IM客户端软件的版本号及使用的TCP/UDP端口号,然后返回用户A登录成功的标志,此时用户A在IM系统中的状态为在线(Online Presence)。
其次,根据用户A存储在IM服务器上的好友列表(Buddy List),服务器将用户A在线的相关信息发送到也同时在线的即时通讯好友的PC机,这些信息包括在线状态、IP地址、IM客户端使用的TCP端口(Port)号等,即时通讯好友PC机上的即时通讯软件收到此信息后将在PC桌面上弹出一个小窗口予以提示。
然后,即时通讯服务器把用户A存储在服务器上的好友列表及相关信息回送到他的PC机,这些信息包括也在线状态、IP地址、IM客户端使用的TCP端口(Port)号等信息,用户A的PC机上的IM客户端收到后将显示这些好友列表及其在线状态。
接下来,如果用户A想与他的在线好友用户B聊天,他将直接通过服务器发送过来的用户B的IP地址、TCP端口号等信息,直接向用户B的PC机发出聊天信息,用户B的IM客户端软件收到后显示在屏幕上,然后用户B再直接回复到用户A的PC机,这样双方的即时文字消息就不通过IM服务器中转,而是通过网络进行点对点的直接通讯,这称为对等通讯方式(Peer To Peer)。在商用即时通讯系统中,如果用户A与用户B的点对点通讯由于防火墙、网络速度等原因难以建立或者速度很慢,IM服务器还提供消息中转服务,即用户A和用户B的即时消息全部先发送到IM服务器,再由服务器转发给对方。早期的IM系统,在IM客户端和IM服务器之间通讯采用采用UDP协议,UDP协议是不可靠的传输协议,而在IM客户端之间的直接通讯中,采用具备可靠传输能力的TCP协议。随着用户需求和技术环境的发展,目前主流的即时通讯系统倾向于在即时通讯客户端之间、即时通讯客户端和即时通讯服务器之间都采用TCP协议。
一方面,C1每次想和C2通信,先向S递一个申请,然后S同意,把信息转交C2,以后每次通信都这样。
这种方式对服务器的性能要求比较高,要求服务器可以同时处理很高的连接数,因为所有信息都要通过服务器进行传递,同时,它可以对所传递的信息进行控制。
另一方面,C1第一次想和C2通信,向S递一个申请,S同意,告诉C1,C2,然后C1和C2之间建立了一条连接,可以直接通信,无需经过S。
这种方式仅仅是用户登陆或下线时与服务器进行连接,平时进行通信时,是用户之间直接进行点对点的连接。
对于步骤S400,控制模块通过房间的IM通道向多个客户端发送目标页面,使多个客户端同步显示H5页面。
另外,房间设置有网页模式和画板模式。在网页模式和画板模式质检进行切换;接收来自当前的房间的控制权限主体所对应的客户端的房间内容模式切换请求;根据房间内容模式切换请求将房间内容模式切换为画板模式或网页页面模式;其中,当房间内容模式处于画板模式,允许接收多个客户端的绘制指令,并根据绘制指令对房间的当前页面进行绘制操作;当房间内容模式处于网页页面模式,允许接收当前的房间的控制权限主体所对应的客户端的滑动指令,并根据滑动指令对房间的当前页面进行滑动操作。
在客户端的界面设置有模式切换按键。当用户点击模式切换按键,当前的房间的控制权限主体所对应的客户端发送房间内容模式切换请求。
房间内容模式切换请求的数据定义如下:
其中,type代表会客厅内容模式,有两种类型的值,1表示画板模板,2表示网页模式。userId表示当前的房间的控制权限主体所对应的客户端的ID信息。
本申请的实施例,提供了一种电子设备。参照图7,电子设备包括存储器220、处理器210、存储在存储器220上并可在处理器210上运行的程序以及用于实现处理器210和存储器220之间的连接通信的数据总线230,程序被处理器210执行时实现如上所述的屏幕共享方法。
该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
总体而言,对于电子设备的硬件结构,处理器210可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案。
存储器220可以采用只读存储器(ReadOnlyMemory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)等形式实现。存储器220可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器220中,并由处理器210来调用执行本申请实施例的接口信息处理方法。
输入/输出接口用于实现信息输入及输出。
通信接口用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线230在设备的各个组件(例如处理器210、存储器220、输入/输出接口和通信接口)之间传输信息。处理器210、存储器220、输入/输出接口和通信接口通过总线230实现彼此之间在设备内部的通信连接。
本申请的实施例,提供了一种计算机可读存储介质。计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上所述的屏幕共享方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
尽管已经示出和描述了本申请的实施方式,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
以上是对本申请的较佳实施进行了具体说明,但本申请并不限于实施例,熟悉本领域的技术人员在不违背本申请精神的前提下可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种屏幕共享方法,其特征在于,应用于控制模块,所述屏幕共享方法包括:
接收多个客户端中的第一客户端的授权请求,其中,多个所述客户端接入房间,所述授权请求用于请求获取所述房间的控制权限;
根据所述授权请求得到请求应答,当所述请求应答对应同意授权,将所述房间的控制权限主体修改为所述第一客户端;
接收所述第一客户端的控制指令,根据所述控制指令对所述房间的当前页面进行操作得到目标页面;
向多个所述客户端发送所述目标页面进行同步显示。
2.根据权利要求1所述的屏幕共享方法,其特征在于,所述当所述请求应答对应同意授权,将所述房间的控制权限主体修改为所述第一客户端,包括:
当所述请求应答对应同意授权,向所述第一客户端发送对应同意授权的请求应答;
查询当前的房间的控制权限主体所对应的客户端,向当前的房间的控制权限主体所对应的客户端发送拒绝授权的信息;
将所述房间的控制权限主体修改为所述第一客户端。
3.根据权利要求1所述的屏幕共享方法,其特征在于,在根据所述授权请求得到请求应答之后,所述屏幕共享方法还包括:
当所述请求应答对应拒绝授权,向所述第一客户端发送对应拒绝授权的请求应答。
4.根据权利要求1所述的屏幕共享方法,其特征在于,所述屏幕共享方法还包括:
接收来自当前的房间的控制权限主体所对应的客户端的房间内容模式切换请求;
根据所述房间内容模式切换请求将房间内容模式切换为画板模式或网页页面模式;
其中,当所述房间内容模式处于所述画板模式,允许接收多个所述客户端的绘制指令,并根据所述绘制指令对所述房间的当前页面进行绘制操作;
当所述房间内容模式处于所述网页页面模式,允许接收当前的房间的控制权限主体所对应的客户端的滑动指令,并根据所述滑动指令对所述房间的当前页面进行滑动操作。
5.根据权利要求1所述的屏幕共享方法,其特征在于,所述根据所述控制指令对所述房间的当前页面进行操作得到目标页面,包括:
根据所述控制指令得到模块名称、方法名称和参数;
根据所述参数获取动作名称和动作参数;
根据所述模块名称、所述方法名称、所述动作名称和所述动作参数,对所述房间的当前页面进行操作得到目标页面。
6.根据权利要求1所述的屏幕共享方法,所述第一客户端按照以下方式发送所述控制指令:
监听对所述房间的页面的操作事件;
根据所述操作事件得到所述模块名称、所述方法名称、所述动作名称和所述动作参数;
根据所述模块名称、所述方法名称、所述动作名称和所述动作参数组装成预设数据格式的控制指令;
发送所述控制指令。
7.根据权利要求1所述的屏幕共享方法,其特征在于,所述控制模块设置于第二客户端,所述第二客户端为多个所述客户端中创建所述房间的客户端。
8.一种屏幕共享系统,其特征在于,包括第一客户端和第二客户端,所述第二客户端设置有控制模块;
所述第一客户端用于发送授权请求和控制指令,其中,所述授权请求用于请求获取所述房间的控制权限;
所述第二客户端用于创建房间;
所述控制模块用于根据所述授权请求得到请求应答,当所述请求应答对应同意授权,将所述房间的控制权限主体修改为所述第一客户端,根据所述控制指令对所述房间的当前页面进行操作得到目标页面,向所述第一客户端和所述第二客户端发送所述目标页面进行同步显示。
9.一种电子设备,其特征在于,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现如权利要求1至7任一项所述的屏幕共享方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至7任一项所述的屏幕共享方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311691090.9A CN117687589A (zh) | 2023-12-07 | 2023-12-07 | 屏幕共享方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311691090.9A CN117687589A (zh) | 2023-12-07 | 2023-12-07 | 屏幕共享方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117687589A true CN117687589A (zh) | 2024-03-12 |
Family
ID=90125901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311691090.9A Pending CN117687589A (zh) | 2023-12-07 | 2023-12-07 | 屏幕共享方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117687589A (zh) |
-
2023
- 2023-12-07 CN CN202311691090.9A patent/CN117687589A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107733922B (zh) | 用于调用服务的方法和装置 | |
US6192394B1 (en) | Inter-program synchronous communications using a collaboration software system | |
EP2122922B1 (en) | Remote control using instant messaging | |
US7933955B2 (en) | One-click universal screen sharing | |
US8631078B2 (en) | Method and system for embedded personalized communication | |
CN108476165B (zh) | 一种信息交互方法、客户端和装置 | |
US9253129B2 (en) | Instant messaging with browser collaboration | |
KR20190098766A (ko) | 데이터 송신 방법 및 장치 | |
US9009853B2 (en) | Communication between web applications | |
KR20090017629A (ko) | 프레즌스 서버의 사용자 상태 원격 업데이트 | |
US10863312B2 (en) | Moving track sharing method and apparatus, and storage medium | |
EP3105891B1 (en) | Instant messaging with non subscriber users | |
CN101119335B (zh) | 一种登录游戏服务器的方法及其实现系统 | |
CN113489805A (zh) | 一种云桌面系统的对接方法、装置、设备及存储介质 | |
EP2813051B1 (en) | Dynamic sharing of a webservice | |
CN117687589A (zh) | 屏幕共享方法、系统、设备及介质 | |
CN114285668B (zh) | 一种网闸测试方法、装置、存储介质和电子设备 | |
US11811884B1 (en) | Topic subscription provisioning for communication protocol | |
KR101670699B1 (ko) | 웹 페이지들 간에 통신하기 위한 방법 및 시스템 | |
CN114124935A (zh) | Ftp服务的实现方法、系统、设备及存储介质 | |
CN113630447A (zh) | 一种基于web的云服务提供方法、系统及存储介质 | |
CN107517154B (zh) | 一种前台应用无关的处理、传递用户输入信息的方法和系统 | |
CN112272223A (zh) | 应用的运行方法、装置、服务器及计算机可读存储介质 | |
CN105407029A (zh) | 一种账号分流方法及通信终端 | |
CN113992617B (zh) | 信息交互方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |