CN105426242A - 数据传递方法和装置 - Google Patents
数据传递方法和装置 Download PDFInfo
- Publication number
- CN105426242A CN105426242A CN201510791419.8A CN201510791419A CN105426242A CN 105426242 A CN105426242 A CN 105426242A CN 201510791419 A CN201510791419 A CN 201510791419A CN 105426242 A CN105426242 A CN 105426242A
- Authority
- CN
- China
- Prior art keywords
- applications client
- port
- data
- application scenarios
- scenarios interface
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Abstract
本发明公开了一种数据传递方法和装置,属于客户端应用领域。该方法包括:第一应用客户端调用当前处于空闲状态的第一端口,创建第一传递服务进程,以该第一传递服务进程占用该第一端口;该第一应用客户端确定当前处于被占用状态的第二端口,该第二端口被第二应用客户端创建的第二传递服务进程占用;该第一应用客户端通过该第一传递服务进程,与该第二传递服务进程建立数据连接;该第一应用客户端与该第二应用客户端通过该数据连接进行数据传递。本发明通过第一应用客户端占用第一端口,并发现当前处于被占用状态的第二端口,从而基于端口之间的数据连接,与第二应用客户端进行数据传递,该数据传递过程无需通过操作系统进行,提高了灵活性。
Description
技术领域
本发明涉及客户端应用领域,特别涉及一种数据传递方法和装置。
背景技术
为了满足用户的多样化需求,终端可以安装多种应用,通过不同的应用实现不同的功能。且,终端上的某一应用可以通过操作系统,对另一应用中的数据进行处理,实现数据在不同应用之间的传递。
以应用A和应用B为例,当应用A显示场景界面时,用户可以选择应用A中的数据,并点击该场景界面中的“打开”选项,则应用A会在该场景界面中显示应用列表,该应用列表中包括终端上除应用A以外的其他应用,当检测到用户对应用列表中应用B的选择操作时,应用A向操作系统发送对应用B的传递指令,由操作系统启动应用B,通过应用B打开该数据,用户即可在应用B中查看该数据。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:应用A需要通过操作系统才能与应用B进行数据传递,局限性强,灵活性差。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种数据传递方法和装置。所述技术方案如下:
第一方面,提供了一种数据传递方法,所述方法包括:
第一应用客户端调用当前处于空闲状态的第一端口,创建第一传递服务进程,以所述第一传递服务进程占用所述第一端口;
所述第一应用客户端确定当前处于被占用状态的第二端口,所述第二端口被第二应用客户端创建的第二传递服务进程占用;
所述第一应用客户端通过所述第一传递服务进程,与所述第二传递服务进程建立数据连接;
所述第一应用客户端与所述第二应用客户端通过所述数据连接进行数据传递。
第二方面,提供了一种数据传递装置,所述装置包括:
调用模块,用于调用当前处于空闲状态的第一端口,创建第一传递服务进程,以所述第一传递服务进程占用所述第一端口;
第二确定模块,用于确定当前处于被占用状态的第二端口,所述第二端口被第二应用客户端创建的第二传递服务进程占用;
连接模块,用于通过所述第一传递服务进程,与所述第二传递服务进程建立数据连接;
第一数据传递模块,用于通过所述数据连接,与第二应用客户端进行数据传递。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的方法和装置,通过第一应用客户端调用当前处于空闲状态的第一端口,创建第一传递服务进程,从而占用该第一端口,并发现终端上当前被第二应用客户端占用的第二端口,通过第一端口与第二端口建立数据连接,则第一应用客户端和第二应用客户端即可基于建立的数据连接进行数据传递,而无需通过终端上的操作系统进行数据传递,摆脱了操作系统的限制,提高了灵活性,简化了数据传递流程,提高了数据传递效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种终端的结构示意图;
图2是本发明实施例提供的一种数据传递方法的流程图;
图3是本发明实施例提供的一种数据传递方法的流程图;
图4是本发明实施例提供的一种预设边界范围示意图;
图5是本发明实施例提供的用户关系链的显示示意图;
图6是本发明实施例提供的一种数据传递方法的流程图;
图7是本发明实施例提供的一种数据传递装置的结构示意图;
图8是本发明实施例提供的一种数据传递装置的结构示意图;
图9是本发明实施例提供的一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种终端的结构示意图,参见图1,该终端安装有第一应用客户端和第二应用客户端,且该终端上还配置有至少一个端口,任一端口可以处于空闲状态或者处于被占用状态。其中,端口处于空闲状态表示还未有进程占用该端口,该端口当前不能连通;端口处于被占用状态表示已经有进程占用了该端口,该端口当前能够连通。
该第一应用客户端用于调用当前处于空闲状态的第一端口,创建第一传递服务进程,以该第一传递服务进程占用该第一端口;确定当前处于被占用状态的第二端口,该第二端口被第二应用客户端创建的第二传递服务进程占用;并通过该第一传递服务进程,与该第二传递服务进程建立数据连接。
该第一应用客户端还用于与该第二应用客户端通过该数据连接进行数据传递。
图2是本发明实施例提供的一种数据传递方法的流程图。参见图2,该方法包括:
201、第一应用客户端调用当前处于空闲状态的第一端口,创建第一传递服务进程,以该第一传递服务进程占用该第一端口。
202、该第一应用客户端确定当前处于被占用状态的第二端口,该第二端口被第二应用客户端创建的第二传递服务进程占用。
203、该第一应用客户端通过该第一传递服务进程,与该第二传递服务进程建立数据连接。
204、该第一应用客户端与该第二应用客户端通过该数据连接进行数据传递。
本发明实施例提供的方法,通过第一应用客户端调用当前处于空闲状态的第一端口,创建第一传递服务进程,从而占用该第一端口,并发现终端上当前被第二应用客户端占用的第二端口,通过第一端口与第二端口建立数据连接,则第一应用客户端和第二应用客户端即可基于建立的数据连接进行数据传递,而无需通过终端上的操作系统进行数据传递,摆脱了操作系统的限制,提高了灵活性,简化了数据传递流程,提高了数据传递效率。
可选地,该第一应用客户端调用当前处于空闲状态的第一端口,创建第一传递服务进程之前,该方法还包括:
该第一应用客户端至少检测一个端口是否能够连通;
将不能够连通的端口确定为当前处于空闲状态的第一端口。
可选地,该第一应用客户端检测至少一个端口是否能够连通,包括:
按照预设端口号范围内的多个端口号的排列顺序,检测对应端口是否能够连通,直至检测到不能够连通的端口为止。
可选地,该第一应用客户端确定当前处于被占用状态的第二端口,包括:
检测至少一个端口是否能够连通;
将至少一个能够连通的端口确定为当前处于被占用状态的第二端口。
可选地,该方法还包括:
当该第一应用客户端检测到对显示的第一应用场景界面中指定数据的拖动操作时,确定该拖动操作的操作轨迹,并执行确定当前处于被占用状态的第二端口的步骤。
可选地,该第一应用客户端与该第二应用客户端通过该数据连接进行数据传递,包括:
当该第一应用客户端根据该操作轨迹确定该拖动操作离开该第一应用场景界面,进入该第二应用客户端显示的第二应用场景界面时,通过该数据连接,向该第二应用客户端发送传递指令,该传递指令至少包括用于指示该指定数据的数据标识;
该第二应用客户端接收到该传递指令时,在该第二应用场景界面上,根据该拖动操作的操作轨迹,展示该指定数据。
可选地,该方法还包括:
当该第二应用客户端在该第二应用场景界面上检测到对该指定数据的释放操作时,对该指定数据执行指定操作。
可选地,该第二应用客户端为社交应用客户端时,当该第二应用客户端在该第二应用场景界面上检测到对该指定数据的释放操作时,对该指定数据执行指定操作,包括:
该第二应用客户端在该第二应用场景界面中,展示当前登录的用户标识对应的用户关系链,该用户关系链中包括至少一个用户标识;
当检测到该释放操作时,确定该释放操作对应的目标位置;
根据该至少一个用户标识在该第二应用场景界面中的位置,确定与目标位置对应的目标用户标识;
向该目标用户标识对应的终端发送该指定数据。
可选地,该传递指令还包括该拖动操作在离开该第一应用场景界面时的位置信息;
该第二应用客户端接收到该传递指令时,在该第二应用场景界面上,根据该拖动操作的操作轨迹,展示该指定数据,包括:
当该第二应用客户端接收到该传递指令时,根据该位置信息和该第二应用场景界面的指定边界线的位置信息,在该第二应用场景界面中,展示该指定数据,该指定边界线是指该第二应用场景界面中与该第一应用场景界面相邻的边界线;
根据该拖动操作的操作轨迹,展示该指定数据的移动轨迹。
可选地,该第一应用客户端与该第二应用客户端通过该数据连接进行数据传递,包括:
当该第一应用客户端根据该操作轨迹确定该拖动操作位于该第一应用场景界面的预设边界范围内时,通过该数据连接,向该第二应用客户端发送传递通知消息,该传递通知消息至少包括用于指示该指定数据的数据标识;
该第二应用客户端接收到该传递通知消息时,根据该数据标识,预加载该指定数据。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图3是本发明实施例提供的一种数据传递方法的流程图。本发明实施例的交互主体为第一应用客户端和第二应用客户端,参见图3,该方法包括:
301、第二应用客户端至少检测一个端口是否能够连通,将不能够连通的端口确定为当前处于空闲状态的第二端口。
其中,该终端可以为计算机、平板电脑等设备,本发明实施例对此不做限定。该终端可以安装第一应用客户端和第二应用客户端,该第一应用客户端与该第二应用客户端不同。
该第一应用客户端可以显示该第一应用场景界面,该第二应用客户端可以显示该第二应用场景界面。该第一应用客户端可以为浏览器客户端、社交应用客户端、视频播放客户端等,该第一应用场景界面可以为浏览器客户端的网页展示界面、社交应用客户端的聊天界面、视频播放客户端的视频播放界面等,该第二应用客户端也可以为浏览器客户端、社交应用客户端、视频播放客户端等,该第一应用场景界面可以为浏览器客户端的网页展示界面、社交应用客户端的聊天界面、视频播放客户端的视频播放界面等。进一步地,该第一应用客户端与该第二应用客户端的类型可以相同,也可以不同,如该第一应用客户端和该第二应用客户端可以为不同的视频播放客户端。本发明实施例对此均不做限定。
为了便于在第一应用客户端与第二应用客户端之间传递数据,该第一应用客户端和第二应用客户端可以分别占用一个端口,通过占用的端口进行数据传递。
第二应用客户端可以至少检测一个端口是否能够连通,如果当前检测的端口能够连通,表示该端口当前处于被占用状态,已经被其他进程占用,而如果当前检测的端口不能够连通,表示该端口当前处于空闲状态,还未被其他进程占用,此时该第二应用客户端即可将不能够连通的端口确定为当前处于空闲状态的第二端口。
进一步地,第二应用客户端可以确定预设端口号范围,该预设端口号范围内包括多个端口号,每个端口号用于唯一确定终端上的一个端口。那么,该第二应用客户端进行检测时,可以按照预设端口号范围内的多个端口号的排列顺序,依次检测对应端口是否能够连通,直至检测到不能够连通的端口为止,将当前检测到的不能够连通的端口确定为当前处于空闲状态的第二端口。
例如,该预设端口号范围为10000-10010,该第二应用客户端可以先尝试连通10000端口,如果10000端口可以连通,说明10000端口已经被占用,则尝试连通10001端口,以此类推,直至发现一个无法连通,即未被占用的端口。
302、第二应用客户端调用当前处于空闲状态的第二端口,创建第二传递服务进程,以该第二传递服务进程占用该第二端口。
发现该第二端口后,第二应用客户端即可调用该第二端口,创建第二传递服务进程,从而以该第二传递服务进程占用该第二端口。其中,该第二传递服务进程中可以包括一个或多个进程,且该第二传递服务进程用于与其他应用客户端的传递服务进程进行通信。
可选地,第二应用客户端可以根据终端的IP(InternetProtocol,网络互连协议)地址和该第二端口的端口号,生成一个socket(套接字),作为第二传递服务进程,生成的socket即可与第二端口绑定,占用该第二端口。
需要说明的是,上述步骤301-302可以在第二应用客户端启动时执行,或者在第二应用客户端前台运行时执行。例如,第二应用客户端可以在启动时执行步骤301-302发现第二端口,并占用该第二端口,在关闭时再释放该第二端口。或者,第二应用客户端可以在切换为前台运行,开始显示第二应用场景界面时执行301-302发现第二端口,并占用该第二端口,在切换为后台运行时再释放该第二端口。
303、第一应用客户端至少检测一个端口是否能够连通,将不能够连通的端口确定为当前处于空闲状态的第一端口。
具体地,第一应用客户端至少检测一个端口是否能够连通,将不能够连通的端口确定为当前处于空闲状态的第一端口。进一步地,第一应用客户端可以按照该预设端口号范围内的多个端口号的排列顺序,依次检测对应端口是否能够连通,直至检测到不能够连通的端口为止,将当前检测到的不能够连通的端口确定为该第一端口。
304、第一应用客户端调用当前处于空闲状态的第一端口,创建第一传递服务进程,以该第一传递服务进程占用该第一端口。
第一应用客户端发现当前处于空闲状态的第一端口后,即可调用该第一端口,创建第一传递服务进程,从而以该第一传递服务进程占用该第一端口。其中,该第一传递服务进程用于与其他应用客户端的传递服务进程进行通信。
上述步骤303-304的具体过程与上述步骤301-302类似,在此不再赘述。
305、第一应用客户端显示第一应用场景界面,当检测到对该第一应用场景界面中指定数据的拖动操作时,确定该拖动操作的操作轨迹,并确定当前处于被占用状态的第二端口,通过该第一传递服务进程,与该第二传递服务进程建立数据连接。
本发明实施例中,第一应用客户端显示第一应用场景界面时,可以在该第一应用场景界面中,显示该第一应用客户端的多个数据。该第一应用客户端中的数据可以包括视频数据、图片数据、音频数据等多种类型的数据,第一应用客户端显示该多个数据时,可以显示数据的缩略图或者数据名称等,本发明实施例对此不做限定。
当用户希望在第二应用客户端中对第一应用客户端中的指定数据进行处理时,可以在该第一应用场景界面中,触发对该指定数据的拖动操作,以便将该指定数据拖动至该第二应用场景界面中。当第一应用客户端检测到该拖动操作时,确定该拖动操作的移动轨迹。
实际应用时,当该终端配置的显示屏幕不是触摸屏幕时,用户可以使用鼠标,在该显示屏幕上触发对该指定数据的拖动操作,而该显示屏幕为触摸屏幕时,用户可以使用手指,在该触摸屏幕上触发对该指定数据的拖动操作,操作非常简便。
当第一应用客户端检测到对指定数据的拖动操作时,可以认为用户要将该指定数据传递给第二应用客户端,则为了便于进行传递,第一应用客户端可以确定当前处于被占用状态的第二端口,通过该第一传递服务进程,与该第二传递服务进程建立数据连接。
具体地,该第一应用客户端检测至少一个端口是否能够连通,将至少一个能够连通的端口确定为当前处于被占用状态的端口。进一步地,第一应用客户端可以按照该预设端口号范围内的多个端口号的排列顺序,依次检测对应端口是否能够连通,将当前检测到的能够连通的端口确定为当前处于被占用状态的端口,也即是该第二端口。
例如,该预设端口号范围为10000-10010,第一应用客户端已占用10000端口,则尝试连通10001端口,如果10001端口能够连通,则将10001端口确定为当前处于被占用状态的第二端口,并继续尝试连通10002端口,如果10002端口也能够连通,则将10002端口确定为当前处于被占用状态的第二端口,继续尝试连通10003端口,如果10003端口不能够连通,则确定10003端口当前处于空闲状态,以此类推,直至检测完该预设端口号范围所对应的每个端口,确定多个第二端口为止。
之后,该第一应用客户端的第一传递服务进程根据第二端口的端口号,发送连接请求,而第二应用客户端的第二传递服务进程处于监听状态,当监听到该连接请求时,向第一传递服务进程发送确认请求,第一传递服务进程接收到确认请求,即可与第二传递服务进程建立数据连接。
第一应用客户端与第二应用客户端建立数据连接后,第一应用客户端即可根据终端的IP地址和第二端口的端口号,与第二应用客户端进行通信,该第二应用客户端也可以根据终端的IP地址和第一端口的端口号,与第一应用客户端进行通信。
进一步地,为了保持该第一应用客户端与第二应用客户端之间的数据连接,该第一应用客户端可以采用心跳机制,周期性地与第二应用客户端建立数据连接,每隔一个周期,该周期内所建立的数据连接失效。如果此时该第一应用客户端与该第二应用客户端建立新的数据连接失败时,表示第二应用客户端已经释放了该第二端口,已不再显示第二应用场景界面,无法接收从该第一应用客户端传递的指定数据,则该第一应用客户端可以在第一应用场景界面中展示传递错误消息,提示用户停止触发该拖动操作,或者不再对检测到的拖动操作进行响应。而如果此时该第一应用客户端与该第二应用客户端建立了新的数据连接,表示第二应用客户端仍然在显示第二应用场景界面,可以接收从该第一应用客户端传递的指定数据,则该第一应用客户端可以在第一应用场景界面中展示传递确认消息,提示用户继续触发该拖动操作,将该指定数据拖动至第二应用场景界面中。
需要说明的是,本发明实施例仅以一个第二应用客户端占用第二端口后,第一应用客户端发现处于被占用状态的第二端口为例进行说明,则第一应用客户端发现的当前处于被占用状态的端口即为该第二应用客户端占用的端口。
而在实际的应用中,在该终端上,除该第一应用客户端之外,还可能会有多个第二应用客户端占用了端口,则该第一应用客户端可以发现当前处于被占用状态的多个第二端口,此时,该第一应用客户端可以通过该第一传递服务进程,与发现的每个第二端口上创建的传递服务进程建立数据连接,以便后续通过建立的多个数据连接,与至少一个第二端口对应的应用客户端进行数据传递。
需要补充说明的是,在实际应用中,该终端可能仅显示了第一应用场景界面,而未显示除该第一应用场景界面以外的任一应用场景界面,即当前不存在能够接收该指定数据的应用场景界面,相应地,也没有除第一应用客户端以外的应用客户端来占用端口,则第一应用客户端不能发现当前处于被占用状态的端口,也不能与当前处于被占用状态的端口建立数据连接。此时,该第一应用客户端可以在第一应用场景界面上展示传递错误消息,提示用户停止触发该拖动操作,或者不再对检测到的拖动操作进行响应。
306、当第一应用客户端根据该操作轨迹确定该拖动操作位于该第一应用场景界面的预设边界范围内时,通过该数据连接,向第二应用客户端发送传递通知消息。
该第一应用场景界面中包括预设边界范围,该预设边界范围可以根据该第一应用场景界面的边界线的位置以及预设尺寸确定,该预设尺寸可以由该第一应用客户端预先确定,不同的边界线可以对应不同的预设边界范围。相应地,该第二应用场景界面中也可以包括预设边界范围,该第二应用场景界面的预设边界范围可以根据该第二应用场景界面的边界线的位置以及预设尺寸确定,该预设尺寸可以由该第二应用客户端预先确定。另外,该第一应用场景界面与该第二应用场景界面的预设边界范围可以相同,也可以不同,本发明实施例对此不做限定。
参见图4,该第一应用场景界面的右边界线与该第二应用场景界面的左边界线重合,该第一应用场景界面的预设边界范围为范围A1、范围A2、范围A3、范围A4,该第二应用场景界面的预设边界范围为范围B1、范围B2、范围B3、范围B4。
随着用户的手指或者鼠标的移动,该拖动操作的位置会发生变化,该第一应用客户端可以根据该拖动操作的操作轨迹,确定该拖动操作当前的位置,当根据该拖动操作当前的位置确定该拖动操作位于该预设边界范围内时,表示该拖动操作将要离开该第一应用场景界面,进入该第二应用场景界面,则可以认为用户要将该指定数据传递给第二应用客户端。
而为了便于后续该第二应用客户端对该指定数据进行处理,该第一应用客户端可以判断该拖动操作当前的位置是否属于该第一应用场景界面的预设边界范围,如果该位置属于该预设边界范围,则可以确定该拖动操作位于该预设边界范围内,即该拖动操作即将离开该第一应用场景界面,则该第一应用客户端通过该第一传递服务进程与第二传递服务进程之间建立的数据连接,向第二应用客户端发送传递通知消息,以便通知该第二应用客户端等待接收指定数据。
该传递通知消息至少包括用于指示该指定数据的数据标识,还可以包括用于指示该第一应用客户端的第一应用标识等,本发明实施例对该传递通知消息中包括的信息不做限定。
其中,该数据标识可以为该指定数据的数据名称或者地址信息等,该地址信息可以为该指定数据在该终端的存储目录、该指定数据对应的URL(UniformResourceLocator,统一资源定位符)等。另外,该数据标识还可以为剪切板,以指示待传递的指定数据为当前剪切板中缓存的数据。本发明实施例对该数据标识不做限定。
该第一应用标识可以为该第一应用客户端的名称、应用序列号等,可以由该第一应用客户端预先确定,也可以由终端为该第一应用客户端分配,本发明实施例对此不做限定。
另外,该传递通知消息还可以包括该第一应用场景界面的尺寸、该拖动操作当前的位置信息、该第一应用场景界面在显示屏幕上的位置、该指定数据的数据类型等,本发明实施例对此不做限定。
例如,假设第一应用客户端为应用A,该传递通知消息包括以下信息:
1、应用A的应用标识:AppID;
2、应用A的场景界面的宽度和高度:(width=624,height=768)
3、用户手指在应用A内的坐标:(610,330)
4、应用A在显示屏幕上的位置:(position=left)
5、数据标识:E:/Document/image1.img
6、数据类型:图片
7、数据的缩略图:image2
需要说明的是,本发明实施例仅以一个第二应用客户端为例进行说明,而在实际应用中,可能会有多个第二应用客户端显示了相应的应用场景界面,该第一应用客户端与每个第二应用客户端建立数据连接,则该第一应用客户端根据该操作轨迹确定该拖动操作位于该第一应用场景界面的预设边界范围内时,可以通过建立的每个数据连接,分别向每个第二应用客户端发送传递通知消息,使得正在显示应用场景界面的多个第二应用客户端均可接收到该传递通知消息。
307、该第二应用客户端通过该数据连接接收到该传递通知消息时,根据该数据标识,预加载该指定数据。
当该第二应用客户端通过该数据连接接收到该传递通知消息时,可以根据该数据标识,预加载该指定数据,则后续用户在该第二应用场景界面中触发对该指定数据的释放操作时,第二应用客户端即可直接对预加载的指定数据进行处理,节省了加载指定数据的时间。
可选地,当该指定数据存储于该第一应用客户端的存储空间时,该第二应用客户端可以根据该数据标识,从该存储空间中获取该指定数据,将该指定数据存储至该第二应用客户端的存储空间内。
另外,该第二应用客户端接收到该传递通知消息时,可以在该第二应用场景界面中,展示提示信息,提示用户将指定数据拖动至该第二应用场景界面中。可选地,该第二应用客户端可以在该第二应用场景界面的顶部展示该提示信息,或者,在该第二应用场景界面中弹出提示窗口,在该提示窗口中展示该提示信息,本发明实施例对此不做限定。
在本发明实施例的另一实施例中,当第一应用客户端在该第一应用场景界面中检测到对该拖动操作的释放操作时,表示用户取消了对该指定数据的传递操作,则第一应用客户端可以通过该数据连接,向该第二应用客户端发送取消传递(Cancel)消息,该第二应用客户端接收到该取消传递消息时,删除已预加载的指定数据。
进一步地,该第二应用客户端还可以确定可支持的数据类型,数据类型可以包括图片类型、视频类型、音频类型等,本发明实施例对此不做限定。那么,当该第二应用客户端接收到该传递通知消息时,根据该数据标识,判断该指定数据是否属于该数据类型,如果该指定数据不属于该数据类型,该第二应用客户端可以通过该数据连接,向该第一应用客户端发送传递错误消息,该第一应用客户端接收到该传递错误消息时,可以提示用户停止触发该拖动操作。而如果该指定数据属于该数据类型,该第二应用客户端可以通过该数据连接,向该第一应用客户端发送传递确认消息,当该第一应用客户端接收到该传递确认消息,可以提示用户继续触发对该指定数据的拖动操作,将该指定数据拖动至第二应用场景界面中。
需要说明的是,上述步骤306-307为可选步骤,该终端还可以不执行步骤306-307,而直接执行步骤308,则该第二应用客户端无需预加载该指定数据,本发明实施例对步骤306-307是否执行不做限定。
308、当第一应用客户端根据该操作轨迹确定该拖动操作离开该第一应用场景界面,进入该第二应用场景界面时,通过该数据连接,向第二应用客户端发送传递指令。
该第一应用客户端可以根据该拖动操作的操作轨迹,确定该拖动操作当前的位置和移动方向,当第一应用客户端确定该拖动操作当前位于该第一应用场景界面的边界线上,且该拖动操作当前的移动方向与该边界线在该第一应用场景界面中的位置匹配时,可以确定该拖动操作离开该第一应用场景界面,将要进入该第二应用场景界面。例如,当确定该拖动操作当前位于该第一应用场景界面的右边界线上,且当前的移动方向为向右移动时,可以确定该拖动操作离开该第一应用场景界面。
此时,可以认为该拖动操作将要进入第二应用场景界面,则第一应用客户端可以通过该数据连接,向第二应用客户端发送传递指令。该传递指令还可以包括该第一应用场景界面的尺寸、该拖动操作在离开该第一应用场景界面时的位置信息、该第一应用场景界面在该显示屏幕上的位置、该指定数据的数据类型等,本发明实施例对此不做限定。
例如,该传递指令可以包括以下信息:
1、应用A的应用标识:AppID;
2、应用A的场景界面的宽度和高度:(width=624,height=768)
3、用户手指在应用A内的坐标:(610,330)
4、应用A在显示屏幕上的位置:(position=left)
5、数据标识:E:/Document/image1.img
6、数据类型:图片
7、数据的缩略图:image2
309、第二应用客户端接收到该传递指令时,在该第二应用场景界面上,根据该拖动操作的操作轨迹,展示该指定数据。
该第二应用客户端接收到该传递指令时,可以根据该数据标识,获取已经预加载的指定数据,并在该第二应用场景界面上展示该指定数据。
可选地,当该展示指令还包括该拖动操作在离开该第一应用场景界面时的位置信息时,该第二应用客户端可以确定该第二应用场景界面中指定边界线的位置信息,根据该拖动操作在离开该第一应用场景界面时的位置信息和该第二应用场景界面的指定边界线的位置信息,在该第二应用场景界面中,展示该指定数据。其中,该指定边界线是指该第二应用场景界面中与该第一应用场景界面相邻的边界线。
具体地,该终端可以获取该拖动操作在离开该第一应用场景界面时的纵坐标,并获取该第二应用场景界面的指定边界线的横坐标,根据该纵坐标和横坐标,展示该指定数据。
例如,该指定数据离开第一应用场景界面时的位置信息为(612,330),第一应用场景界面在第二应用场景界面的左侧显示,且该拖动操作的移动方向为向右移动,则可以确定用户从左向右拖动该指定数据,则指定数据应该从第二应用场景界面的左侧出现,横坐标与该第二应用场景界面的左边界线的横坐标相同,即X=0,纵坐标与离开该第一应用场景界面时的纵坐标相等,即Y=330。
后续过程中,随着该拖动操作的位置发生变化,该第二应用客户端可以检测该拖动操作的操作轨迹,根据该操作轨迹展示该指定数据的移动轨迹。例如,当用户从左向右拖动该指定数据时,该第二应用客户端可以在该第二应用场景界面中,展示该指定数据从左向右的动画效果。
需要说明的是,本发明实施例仅以一个第二应用客户端为例进行说明,而在实际应用中,该第一应用客户端与多个第二应用客户端建立数据连接,向每个第二应用客户端发送传递指令,则接收到该传递指令并检测到该拖动操作的第二应用客户端即可在显示的第二应用场景界面中展示该指定数据,而其他接收到该传递指令但未检测到该拖动操作的第二应用客户端则不会展示该指定数据。
310、当第二应用客户端在该第二应用场景界面上检测到对该指定数据的释放操作时,对该指定数据执行指定操作。
当用户将该指定数据拖动至该第二应用场景界面时,可以释放手指或鼠标,触发对该指定数据的释放操作,当第二应用客户端在该第二应用场景界面中检测到对该指定数据的释放操作时,对该指定数据执行指定操作。
其中,该指定操作可以为打开该指定数据的操作、向指定用户发送该指定数据的操作等等,该指定操作可以为由该第二应用客户端预先确定,且不同的第二应用客户端对应的指定操作可以相同,也可以不同,本发明实施例对此不做限定。
可选地,如果该第二应用客户端为社交应用客户端、该第二应用场景界面为社交应用场景界面,当该第二应用客户端接收到该传递指令时,可以在该第二应用场景界面中,展示当前登录的用户标识对应的用户关系链,该用户关系链中包括至少一个用户标识,当检测到对该指定数据的释放操作时,确定该释放操作对应的目标位置,根据该至少一个用户标识在该第二应用场景界面中的位置,确定与目标位置对应的目标用户标识,向该目标用户标识对应的终端发送该指定数据。其中,该用户标识可以为用户账号、用户昵称、电话号码等,本发明实施例对此不做限定。
也即是,当该第二应用客户端接收到该传递指令时,无论当前该第二应用场景界面中包括哪些信息,均可切换为该用户关系链,该用户关系链包括至少一个用户标识,此时,用户即可将该指定数据拖动至任一用户标识对应的位置,在目标用户标识对应的位置触发该释放操作,该第二应用客户端即可向社交应用服务器发送该指定数据和该目标用户标识,由该社交应用服务器基于该目标用户标识,向目标用户的终端发送该指定数据。
参见图5,该第一应用场景界面显示3个图片,当用户将“图片3”拖动至第二应用场景界面时,该第二应用场景界面展示好友列表,当用户将“图片3”拖动至第二应用场景界面中目标用户标识“Yang”对应的位置,并触发对“图片3”的释放操作时,第二应用客户端通过社交应用服务器,向目标用户标识“Yang”的终端发送“图片3”。
可选地,当该第二应用客户端为浏览器客户端时,该第二应用客户端可以获取该指定数据中的URL,打开该URL所指示的网页,在该第二应用场景界面中展示该网页。
另外,当该第二应用客户端检测到该释放操作时,还可以展示该指定数据的释放动画效果。
本发明实施例中,当该第二应用客户端对该指定数据执行指定操作完成时,可以通过该数据连接,向该第一应用客户端发送释放完成(DropEnd)消息,当该第一应用客户端接收到该释放完成消息时,可以确定第二应用客户端成功地接收到了该指定数据,该数据传递过程已完成。
相关技术中不支持通过拖动操作实现数据在两个应用客户端之间的传递,而本发明实施例只需用户触发拖动操作,即可实现数据在两个应用客户端之间的传递,操作非常简便。
本发明实施例提供的方法,通过第一应用客户端调用当前处于空闲状态的第一端口,创建第一传递服务进程,从而占用该第一端口,并发现终端上当前被第二应用客户端占用的第二端口,通过第一端口与第二端口建立数据连接,则第一应用客户端和第二应用客户端即可基于建立的数据连接进行数据传递,而无需通过终端上的操作系统进行数据传递,摆脱了操作系统的限制,提高了灵活性,简化了数据传递流程,提高了数据传递效率。且,用户只需触发拖动操作即可实现指定数据在不同应用客户端之间的传递,操作简便。且,在拖动操作位于第一应用场景界面的预设边界范围内时,可以通过第二应用客户端,预加载该指定数据,节省了传递后加载指定数据的时间。进一步地,当在社交应用场景界面上检测到对指定数据的释放操作时,可以直接将指定数据发送给目标用户,实现了指定数据的快速发送。
图6是本发明实施例提供的另一种数据传递方法的流程图,参见图6,该方法包括:
601、第一应用客户端调用空闲的第一端口,创建第一传递服务进程,从而占用第一端口。
602、第二应用客户端调用空闲的第二端口,创建第二传递服务进程,从而占用第二端口。
603、用户在第一应用场景界面上长按一张图片,发起Drag(拖动)操作,此时第一应用客户端响应用户的Drag操作,在第一应用场景界面上,显示图片的缩略图,并随着用户手指的移动,显示该缩略图的移动轨迹。而且,第一应用客户端发现被第二应用客户端占用的第二端口,并通过第一传递服务进程与第二传递服务进程建立数据连接。
604、当该缩略图到达该第一应用场景界面的边界线附近时,第一应用客户端通过建立的数据连接,向第二应用客户端发送Dragging(拖拽进入)消息,该Dragging消息至少包括第一应用标识AppID1、该图片的缩略图以及该缩略图当前的坐标。
在本发明实施例提供的另一实施例中,第一应用客户端未与其他应用客户端建立数据连接时,展示传递错误消息,提示用户停止Drag操作。
605、第二应用客户端接收到Dragging消息后,可以进行准备操作,预加载该图片,并在第二应用场景界面上显示提示信息,提示用户可以将该图片拖动至第二应用客户端内,同时等待用户的Drag操作。
第二应用客户端还可以通过该数据连接,向第一应用客户端返回传递确认消息,第一应用客户端接收到传递确认消息时,可以在第一应用场景界面上提示用户继续进行Drag操作,同时等待用户的进一步操作。
606、如果用户将该图片拖动至该第一应用场景界面的边界线,则第一应用客户端确定该Drag操作离开该第一应用场景界面,通过该数据连接,向第二应用客户端发送Drop消息,以提示该Drag操作将要离开第一应用场景界面,该Drop消息至少包括AppID1、该Drag操作离开该第一应用场景界面时的坐标以及该图片的缩略图。
此时,第一应用客户端的Drag操作完成,第一应用场景界面上随着用户手指移动的缩略图消失。
在本发明实施例提供的另一实施例中,该步骤605可以由以下步骤代替:当用户将该图片拖动至第一应用场景界面的中心位置后抬起手指时,说明用户取消了Drag操作,则第一应用客户端通过该数据连接,向第二应用客户端发送Cancel消息,第二应用客户端接收到Cancel消息时,可以删除预加载的图片。
607、该第二应用客户端接收到Drop消息后,在第二应用场景界面上进行响应。
如第二应用客户端在第二应用场景界面中、与在第一应用场景界面中消失的位置对应的位置,显示该缩略图,并随着用户手指的移动,在该第二应用场景界面中,显示缩略图的移动轨迹。
608、在缩略图移动至该第二应用场景界面中时,用户抬起手指,则第二应用客户端响应用户的Drop操作,在第二应用场景界面上播放一个Drop操作的动画效果,并对该图片执行指定操作。
其中,不同的应用客户端在收到Drop消息后的界面响应和逻辑操作响应可以不同。例如,用户向即时通信应用拖动图片是为了将图片发送给好友,则即时通信应用的指定操作为打开好友列表,让用户选择,待用户选择好友之后,将图片发送给用户选择的好友。
609、第二应用客户端通过数据连接,向第一应用客户端发送DropEnd消息,以提示已成功接收到了图片。
610、第一应用客户端接收到DropEnd消息后,即可确定图片传递完成。
图7是本发明实施例提供的一种数据传递装置的结构示意图,参见图7,该装置包括:
调用模块701,用于调用当前处于空闲状态的第一端口,创建第一传递服务进程,以该第一传递服务进程占用该第一端口;
第二确定模块702,用于确定当前处于被占用状态的第二端口,该第二端口被第二应用客户端创建的第二传递服务进程占用;
连接模块703,用于通过该第一传递服务进程,与该第二传递服务进程建立数据连接;
第一数据传递模块704,用于通过该数据连接,与第二应用客户端进行数据传递。
其中,调用模块701、第二确定模块702、连接模块703和第一数据传递模块704应用于终端安装的第一应用客户端中。
本发明实施例提供的装置,通过调用当前处于空闲状态的第一端口,创建第一传递服务进程,从而占用该第一端口,并发现终端上当前被第二应用客户端占用的第二端口,通过第一端口与第二端口建立数据连接,则第一应用客户端和第二应用客户端即可基于建立的数据连接进行数据传递,而无需通过终端上的操作系统进行数据传递,摆脱了操作系统的限制,提高了灵活性,简化了数据传递流程,提高了数据传递效率。
可选地,该装置还包括:
检测模块,用于检测至少一个端口是否能够连通;
第一确定模块,用于将不能够连通的端口确定为当前处于空闲状态的第一端口。
可选地,该检测模块还用于按照预设端口号范围内的多个端口号的排列顺序,检测对应端口是否能够连通,直至检测到不能够连通的端口为止。
可选地,该装置还包括:
检测模块,用于检测至少一个端口是否能够连通;
该第二确定模块702还用于将至少一个能够连通的端口确定为当前处于被占用状态的第二端口。
其中,检测模块、第一确定模块和第二确定模块应用于终端安装的第一应用客户端中。
可选地,该装置还包括:
拖动操作检测模块,用于当检测到对显示的第一应用场景界面中指定数据的拖动操作时,确定该拖动操作的操作轨迹,并触发该第二确定模块。
可选地,该第一数据传递模块704还用于当根据该操作轨迹确定该拖动操作离开该第一应用场景界面,进入该第二应用客户端显示的第二应用场景界面时,通过该数据连接,向该第二应用客户端对应的第二数据传递模块发送传递指令,该传递指令至少包括用于指示该指定数据的数据标识;
该第二数据传递模块用于接收到该传递指令时,在该第二应用场景界面上,根据该拖动操作的操作轨迹,展示该指定数据。
可选地,该装置还包括:
操作执行模块,用于当在该第二应用场景界面上检测到对该指定数据的释放操作时,对该指定数据执行指定操作。
其中,该第二数据传递模块和该操作执行模块应用于终端安装的第二应用客户端中。
可选地,该第二应用客户端为社交应用客户端时,该操作执行模块还用于在该第二应用场景界面中,展示当前登录的用户标识对应的用户关系链,该用户关系链中包括至少一个用户标识;当检测到该释放操作时,确定该释放操作对应的目标位置;根据该至少一个用户标识在该第二应用场景界面中的位置,确定与目标位置对应的目标用户标识;向该目标用户标识对应的终端发送该指定数据。
可选地,该传递指令还包括该拖动操作在离开该第一应用场景界面时的位置信息;
该第二数据传递模块还用于当接收到该传递指令时,根据该位置信息和该第二应用场景界面的指定边界线的位置信息,在该第二应用场景界面中,展示该指定数据,该指定边界线是指该第二应用场景界面中与该第一应用场景界面相邻的边界线;根据该拖动操作的操作轨迹,展示该指定数据的移动轨迹。
可选地,该第一数据传递模块704还用于当根据该操作轨迹确定该拖动操作位于该第一应用场景界面的预设边界范围内时,通过该数据连接,向该第二数据传递模块发送传递通知消息,该传递通知消息至少包括用于指示该指定数据的数据标识;
该第二数据传递模块还用于接收到该传递通知消息时,根据该数据标识,预加载该指定数据。
例如,参见图8,该数据传递装置可以包括第一应用客户端和第二应用客户端,该第一应用客户端包括检测模块、第一确定模块、调用模块、第二确定模块、第一连接模块、第一数据传递模块,该第二应用客户端包括第二连接模块、第二数据传递模块、操作执行模块。该第一连接模块用于与第二连接模块建立数据连接,该第一数据传递模块与该第二数据传递模块可以通过建立的数据连接进行数据传递。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的数据传递装置在进行数据传递时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传递装置与数据传递方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9是本发明实施例提供的一种终端的结构示意图。该终端可以用于实施上述实施例所示出的数据传递方法中终端所执行的功能。具体来讲:
终端900可以包括RF(RadioFrequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、传输模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图9中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(LowNoiseAmplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他终端通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(GlobalSystemofMobilecommunication,全球移动通讯系统)、GPRS(GeneralPacketRadioService,通用分组无线服务)、CDMA(CodeDivisionMultipleAccess,码分多址)、WCDMA(WidebandCodeDivisionMultipleAccess,宽带码分多址)、LTE(LongTermEvolution,长期演进)、电子邮件、SMS(ShortMessagingService,短消息服务)等。
存储器120可用于存储软件程序以及模块,如上述示例性实施例所示出的终端所对应的软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理,如实现基于视频的交互等。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端900的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入终端132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的链接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入终端132。具体地,其他输入终端132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端900的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(LiquidCrystalDisplay,液晶显示器)、OLED(OrganicLight-EmittingDiode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图9中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端900还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端900移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端900还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端900之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端900的通信。
终端900通过传输模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线或有线的宽带互联网访问。虽然图9示出了传输模块170,但是可以理解的是,其并不属于终端900的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端900的控制中心,利用各种接口和线路链接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端900的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端900还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端900还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本发明实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行上述一个或者一个以上程序包含用于实施上述实施例中终端所执行操作的指令。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种数据传递方法,其特征在于,所述方法包括:
第一应用客户端调用当前处于空闲状态的第一端口,创建第一传递服务进程,以所述第一传递服务进程占用所述第一端口;
所述第一应用客户端确定当前处于被占用状态的第二端口,所述第二端口被第二应用客户端创建的第二传递服务进程占用;
所述第一应用客户端通过所述第一传递服务进程,与所述第二传递服务进程建立数据连接;
所述第一应用客户端与所述第二应用客户端通过所述数据连接进行数据传递。
2.根据权利要求1所述的方法,其特征在于,所述第一应用客户端调用当前处于空闲状态的第一端口,创建第一传递服务进程之前,所述方法还包括:
所述第一应用客户端至少检测一个端口是否能够连通;
将不能够连通的端口确定为当前处于空闲状态的第一端口。
3.根据权利要求2所述的方法,其特征在于,所述第一应用客户端检测至少一个端口是否能够连通,包括:
按照预设端口号范围内的多个端口号的排列顺序,检测对应端口是否能够连通,直至检测到不能够连通的端口为止。
4.根据权利要求1所述的方法,其特征在于,所述第一应用客户端确定当前处于被占用状态的第二端口,包括:
检测至少一个端口是否能够连通;
将至少一个能够连通的端口确定为当前处于被占用状态的第二端口。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一应用客户端检测到对显示的第一应用场景界面中指定数据的拖动操作时,确定所述拖动操作的操作轨迹,并执行确定当前处于被占用状态的第二端口的步骤。
6.根据权利要求5所述的方法,其特征在于,所述第一应用客户端与所述第二应用客户端通过所述数据连接进行数据传递,包括:
当所述第一应用客户端根据所述操作轨迹确定所述拖动操作离开所述第一应用场景界面,进入所述第二应用客户端显示的第二应用场景界面时,通过所述数据连接,向所述第二应用客户端发送传递指令,所述传递指令至少包括用于指示所述指定数据的数据标识;
所述第二应用客户端接收到所述传递指令时,在所述第二应用场景界面上,根据所述拖动操作的操作轨迹,展示所述指定数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述第二应用客户端在所述第二应用场景界面上检测到对所述指定数据的释放操作时,对所述指定数据执行指定操作。
8.根据权利要求7所述的方法,其特征在于,所述第二应用客户端为社交应用客户端时,当所述第二应用客户端在所述第二应用场景界面上检测到对所述指定数据的释放操作时,对所述指定数据执行指定操作,包括:
所述第二应用客户端在所述第二应用场景界面中,展示当前登录的用户标识对应的用户关系链,所述用户关系链中包括至少一个用户标识;
当检测到所述释放操作时,确定所述释放操作对应的目标位置;
根据所述至少一个用户标识在所述第二应用场景界面中的位置,确定与目标位置对应的目标用户标识;
向所述目标用户标识对应的终端发送所述指定数据。
9.根据权利要求6所述的方法,其特征在于,所述传递指令还包括所述拖动操作在离开所述第一应用场景界面时的位置信息;
所述第二应用客户端接收到所述传递指令时,在所述第二应用场景界面上,根据所述拖动操作的操作轨迹,展示所述指定数据,包括:
当所述第二应用客户端接收到所述传递指令时,根据所述位置信息和所述第二应用场景界面的指定边界线的位置信息,在所述第二应用场景界面中,展示所述指定数据,所述指定边界线是指所述第二应用场景界面中与所述第一应用场景界面相邻的边界线;
根据所述拖动操作的操作轨迹,展示所述指定数据的移动轨迹。
10.根据权利要求5所述的方法,其特征在于,所述第一应用客户端与所述第二应用客户端通过所述数据连接进行数据传递,包括:
当所述第一应用客户端根据所述操作轨迹确定所述拖动操作位于所述第一应用场景界面的预设边界范围内时,通过所述数据连接,向所述第二应用客户端发送传递通知消息,所述传递通知消息至少包括用于指示所述指定数据的数据标识;
所述第二应用客户端接收到所述传递通知消息时,根据所述数据标识,预加载所述指定数据。
11.一种数据传递装置,其特征在于,所述装置包括:
调用模块,用于调用当前处于空闲状态的第一端口,创建第一传递服务进程,以所述第一传递服务进程占用所述第一端口;
第二确定模块,用于确定当前处于被占用状态的第二端口,所述第二端口被第二应用客户端创建的第二传递服务进程占用;
连接模块,用于通过所述第一传递服务进程,与所述第二传递服务进程建立数据连接;
第一数据传递模块,用于通过所述数据连接,与第二应用客户端进行数据传递。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
检测模块,用于检测至少一个端口是否能够连通;
第一确定模块,用于将不能够连通的端口确定为当前处于空闲状态的第一端口。
13.根据权利要求12所述的装置,其特征在于,所述检测模块还用于按照预设端口号范围内的多个端口号的排列顺序,检测对应端口是否能够连通,直至检测到不能够连通的端口为止。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括:
检测模块,用于检测至少一个端口是否能够连通;
所述第二确定模块还用于将至少一个能够连通的端口确定为当前处于被占用状态的第二端口。
15.根据权利要求11所述的装置,其特征在于,所述装置还包括:
拖动操作检测模块,用于当检测到对显示的第一应用场景界面中指定数据的拖动操作时,确定所述拖动操作的操作轨迹,并触发所述第二确定模块。
16.根据权利要求15所述的装置,其特征在于,所述第一数据传递模块还用于当根据所述操作轨迹确定所述拖动操作离开所述第一应用场景界面,进入所述第二应用客户端显示的第二应用场景界面时,通过所述数据连接,向所述第二应用客户端对应的第二数据传递模块发送传递指令,所述传递指令至少包括用于指示所述指定数据的数据标识;
所述第二数据传递模块用于接收到所述传递指令时,在所述第二应用场景界面上,根据所述拖动操作的操作轨迹,展示所述指定数据。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
操作执行模块,用于当在所述第二应用场景界面上检测到对所述指定数据的释放操作时,对所述指定数据执行指定操作。
18.根据权利要求17所述的装置,其特征在于,所述第二应用客户端为社交应用客户端时,所述操作执行模块还用于在所述第二应用场景界面中,展示当前登录的用户标识对应的用户关系链,所述用户关系链中包括至少一个用户标识;当检测到所述释放操作时,确定所述释放操作对应的目标位置;根据所述至少一个用户标识在所述第二应用场景界面中的位置,确定与目标位置对应的目标用户标识;向所述目标用户标识对应的终端发送所述指定数据。
19.根据权利要求16所述的装置,其特征在于,所述传递指令还包括所述拖动操作在离开所述第一应用场景界面时的位置信息;
所述第二数据传递模块还用于当接收到所述传递指令时,根据所述位置信息和所述第二应用场景界面的指定边界线的位置信息,在所述第二应用场景界面中,展示所述指定数据,所述指定边界线是指所述第二应用场景界面中与所述第一应用场景界面相邻的边界线;根据所述拖动操作的操作轨迹,展示所述指定数据的移动轨迹。
20.根据权利要求15所述的装置,其特征在于,所述第一数据传递模块还用于当根据所述操作轨迹确定所述拖动操作位于所述第一应用场景界面的预设边界范围内时,通过所述数据连接,向所述第二数据传递模块发送传递通知消息,所述传递通知消息至少包括用于指示所述指定数据的数据标识;
所述第二数据传递模块还用于接收到所述传递通知消息时,根据所述数据标识,预加载所述指定数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510791419.8A CN105426242B (zh) | 2015-11-17 | 2015-11-17 | 数据传递方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510791419.8A CN105426242B (zh) | 2015-11-17 | 2015-11-17 | 数据传递方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105426242A true CN105426242A (zh) | 2016-03-23 |
CN105426242B CN105426242B (zh) | 2020-04-21 |
Family
ID=55504468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510791419.8A Active CN105426242B (zh) | 2015-11-17 | 2015-11-17 | 数据传递方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105426242B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484899A (zh) * | 2016-10-21 | 2017-03-08 | 用友网络科技股份有限公司 | 一种基于场景的列信息动态加载展示方法 |
CN110210275A (zh) * | 2018-02-28 | 2019-09-06 | 广州小兵过河信息科技有限公司 | 一种资源端口人工智能识别装置及其方法 |
CN112165531A (zh) * | 2020-10-13 | 2021-01-01 | 广州欢网科技有限责任公司 | 基于监听设备端口实现的通信方法、设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5724532A (en) * | 1994-10-27 | 1998-03-03 | Bay Networks, Inc. | Method and apparatus for exchanging information between application programs according to a drag and drop operation |
CN101043527A (zh) * | 2006-03-20 | 2007-09-26 | 腾讯科技(深圳)有限公司 | 使应用程序独占端口的方法和模块 |
CN101146278A (zh) * | 2006-09-11 | 2008-03-19 | 英业达股份有限公司 | 界面处理系统及方法 |
CN102508707A (zh) * | 2011-11-21 | 2012-06-20 | 宇龙计算机通信科技(深圳)有限公司 | 信息编辑方法和终端 |
CN102855060A (zh) * | 2012-07-30 | 2013-01-02 | 东莞宇龙通信科技有限公司 | 终端和跨应用协同操作处理方法 |
US20130042259A1 (en) * | 2011-08-12 | 2013-02-14 | Otoy Llc | Drag and drop of objects between applications |
CN103279269A (zh) * | 2013-05-31 | 2013-09-04 | 华为技术有限公司 | 一种应用程序之间的数据交互方法及装置、终端设备 |
CN103823721A (zh) * | 2014-02-26 | 2014-05-28 | 京信通信系统(广州)有限公司 | 一种进程间通信的方法及设备 |
CN104519062A (zh) * | 2014-12-17 | 2015-04-15 | 深圳市航盛电子股份有限公司 | 一种创建多对socket端口连接的方法及系统 |
-
2015
- 2015-11-17 CN CN201510791419.8A patent/CN105426242B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5724532A (en) * | 1994-10-27 | 1998-03-03 | Bay Networks, Inc. | Method and apparatus for exchanging information between application programs according to a drag and drop operation |
CN101043527A (zh) * | 2006-03-20 | 2007-09-26 | 腾讯科技(深圳)有限公司 | 使应用程序独占端口的方法和模块 |
CN101146278A (zh) * | 2006-09-11 | 2008-03-19 | 英业达股份有限公司 | 界面处理系统及方法 |
US20130042259A1 (en) * | 2011-08-12 | 2013-02-14 | Otoy Llc | Drag and drop of objects between applications |
CN102508707A (zh) * | 2011-11-21 | 2012-06-20 | 宇龙计算机通信科技(深圳)有限公司 | 信息编辑方法和终端 |
CN102855060A (zh) * | 2012-07-30 | 2013-01-02 | 东莞宇龙通信科技有限公司 | 终端和跨应用协同操作处理方法 |
CN103279269A (zh) * | 2013-05-31 | 2013-09-04 | 华为技术有限公司 | 一种应用程序之间的数据交互方法及装置、终端设备 |
CN103823721A (zh) * | 2014-02-26 | 2014-05-28 | 京信通信系统(广州)有限公司 | 一种进程间通信的方法及设备 |
CN104519062A (zh) * | 2014-12-17 | 2015-04-15 | 深圳市航盛电子股份有限公司 | 一种创建多对socket端口连接的方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484899A (zh) * | 2016-10-21 | 2017-03-08 | 用友网络科技股份有限公司 | 一种基于场景的列信息动态加载展示方法 |
CN110210275A (zh) * | 2018-02-28 | 2019-09-06 | 广州小兵过河信息科技有限公司 | 一种资源端口人工智能识别装置及其方法 |
CN110210275B (zh) * | 2018-02-28 | 2023-10-13 | 广州小兵过河信息科技有限公司 | 一种资源端口人工智能识别装置及其方法 |
CN112165531A (zh) * | 2020-10-13 | 2021-01-01 | 广州欢网科技有限责任公司 | 基于监听设备端口实现的通信方法、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105426242B (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10958459B2 (en) | Method and apparatus for processing group chat message | |
CN104618440A (zh) | 智能设备控制方法及装置 | |
CN103179026B (zh) | 用户交互式系统中的通信方法、系统及服务器和客户端 | |
CN106502826B (zh) | 数据备份及传输方法及移动终端 | |
CN104518953A (zh) | 删除消息的方法、即时通信终端及系统 | |
CN105207896A (zh) | 网络通话方法和装置 | |
CN103941982A (zh) | 一种分享界面处理的方法及终端 | |
CN104616138A (zh) | 资源转移方法、系统及装置 | |
CN104636047A (zh) | 对列表中的对象进行操作的方法、装置及触屏终端 | |
CN105024984A (zh) | 权限设置方法、装置及系统 | |
CN104571787A (zh) | 一种消息显示方法和通信终端 | |
CN104407804A (zh) | 截屏方法、装置及电子设备 | |
CN103390034A (zh) | 图片展示的方法、装置、终端及服务器 | |
CN105681161A (zh) | 一种添加好友账户的方法、装置和系统 | |
CN104238893A (zh) | 一种对视频预览图片进行显示的方法和装置 | |
CN104657203A (zh) | 任务执行方法、装置和系统 | |
CN104298666A (zh) | 网页分享方法和装置 | |
KR20170106418A (ko) | 정보 추천 관리 방법, 디바이스 및 시스템 | |
CN103294442B (zh) | 一种播放提示音的方法、装置及终端设备 | |
CN106506820A (zh) | 一种移动终端数据的备份方法及装置 | |
CN104519262A (zh) | 获取视频数据的方法、装置及终端 | |
CN106775194A (zh) | 一种应用界面切换方法及装置 | |
CN105426190A (zh) | 数据传递方法和装置 | |
CN104917667A (zh) | 基于多媒体信息的交互方法、装置和系统 | |
CN105426242A (zh) | 数据传递方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |