通信方法、装置、客户端及计算机存储介质制造方法及图纸

技术编号:16783731 阅读:75 留言:0更新日期:2017-12-13 02:16
本发明专利技术公开了一种通信方法、装置、客户端及计算机存储介质。其中,方法包括:实时监测客户端与服务器端之间在第一预设时间段是否通过TCP服务进行过通信;若否,则启动TCP服务中的预设线程向服务器端发送协议包,以供服务器端确定是否允许客户端将通信服务由TCP服务切换为UDP服务;接收服务器端响应该协议包而发送的第一数据包;对第一数据包进行解析,得到第一数据包的类型以及第一数据包中预置的编码;若第一数据包为第一类型的数据包,且预置的编码为预设编码,则将通信服务由TCP服务切换为UDP服务,既能在一定程度上保持客户端与服务器端之间数据包传输的实时性,又能减轻服务器端的压力,节省服务器端资源,节省成本。

【技术实现步骤摘要】
通信方法、装置、客户端及计算机存储介质
本专利技术涉及通信
,具体涉及一种通信方法、装置、客户端及计算机存储介质。
技术介绍
目前,客户端与服务器端之间进行通信主要采用以下两种通信方式:方式一:基于Http协议的通信方式客户端每隔一段时间或者根据需要通过Http接口向服务器端发送和请求数据,客户端和服务器端之间并不保持长连接的状态。这种通信方式的优点是不耗费客户端和服务器端的性能;缺点是不能保证数据传输的即时性,只有在客户端请求数据的时候才会更新数据。方式二:基于TCP协议的通信方式客户端与服务器端建立TCP长链接,并保持TCP长链接,以保证数据传输的实时性。这种通信方式的优点是客户端与服务器端之间的通信是实时的;缺点是耗费服务器端的资源,如果有新的客户端需要连接服务器时,只能通过增加服务器数量来解决这个问题,另外,如果一台服务器上连接了1万个客户端,而活跃用户只占20%即2千个,此时服务器还需要保持原有的通信通道,即1万个通信通道,如图1所示,如此就会造成服务器端资源的浪费。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的通信方法、通信装置、客户端及计算机存储介质。根据本专利技术的一个方面,提供了一种通信方法,应用于客户端,方法包括:实时监测客户端与服务器端之间在第一预设时间段是否通过TCP服务进行过通信;若否,则启动TCP服务中的预设线程向服务器端发送协议包,以供服务器端确定是否允许客户端将通信服务由TCP服务切换为UDP服务;接收服务器端响应该协议包而发送的第一数据包;对第一数据包进行解析,得到第一数据包的类型以及第一数据包中预置的编码;若第一数据包为第一类型的数据包,且预置的编码为预设编码,则将通信服务由TCP服务切换为UDP服务。根据本专利技术的一个方面,提供了一种通信装置,应用于客户端,装置包括:监测模块,用于实时监测客户端与服务器端之间在第一预设时间段是否通过TCP服务进行过通信;第一发送模块,用于若监测到客户端与服务器端之间在第一预设时间段未通过TCP服务进行过通信,则启动TCP服务中的预设线程向服务器端发送协议包,以供服务器端确定是否允许客户端将通信服务由TCP服务切换为UDP服务;接收模块,用于接收服务器端响应该协议包而发送的第一数据包;解析模块,用于对第一数据包进行解析,得到第一数据包的类型以及第一数据包中预置的编码;处理模块,用于若第一数据包为第一类型的数据包,且预置的编码为预设编码,则将通信服务由TCP服务切换为UDP服务。根据本专利技术的又一方面,提供了一种客户端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述通信方法对应的操作。根据本专利技术的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使所述处理器执行如上述通信方法对应的操作。根据本专利技术提供的方案,在监测到客户端与服务器端之间在第一预设时间段未通过TCP服务进行过通信,将通信服务由TCP服务切换为UDP服务,既能在一定程度上保持客户端与服务器端之间数据包传输的实时性,又能减轻服务器端的压力,节省服务器端资源,节省成本。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了现有技术中客户端与服务器端基于TCP协议的通信方式的示意图;图2示出了根据本专利技术一个实施例的通信方法的流程示意图;图3示出了根据本专利技术另一个实施例的通信方法的流程示意图;图4示出了客户端与服务器端基于本专利技术提供的通信方法进行通信的示意图;图5示出了根据本专利技术一个实施例的通信装置的结构示意图;图6示出了根据本专利技术另一个实施例的通信装置的结构示意图;图7示出了根据本专利技术一个实施例的客户端的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。需要说明的是,本专利技术实施例中所涉及的客户端可以包括但不限于手机、个人数字助理(PersonalDigitalAssistant,PDA)、无线手持设备、平板电脑(TabletComputer)、个人电脑(PersonalComputer,PC)、可穿戴设备(例如,智能眼镜、智能手表、智能手环等)等。图2示出了根据本专利技术一个实施例的通信方法的流程示意图。如图2所示,该方法应用于客户端,方法包括以下步骤:步骤S200,实时监测客户端与服务器端之间在第一预设时间段是否通过TCP服务进行过通信,若否则执行步骤S201。其中,用户使用客户端的上的应用时,客户端与服务器端之间将建立TCP长链接,客户端与服务器端基于TCP协议进行通信,此时,服务器端与客户端进行通信的是网关服务器(Gateway服务器),其中,应用可以是安装在客户端上的本地程序(nativeApp),或者还可以是客户端上的浏览器的一个网页程序(webApp),本实施例对此不进行特别限定。第一预设时间段可以根据实际需要进行设定,例如,可以将第一预设时间段设置为10分钟,这里仅是举例说明,不具有任何限定作用。具体地,需要实时地监测客户端与服务器端之间在10分钟内是否通过TCP服务进行过通信,若监测到客户端与服务器端之间10分钟内未通过TCP服务进行过通信,则可以认定该客户端处于闲置状态。步骤S201,启动TCP服务中的预设线程向服务器端发送协议包,以供服务器端确定是否允许客户端将通信服务由TCP服务切换为UDP服务。在监测到客户端与服务器端之间10分钟内未通过TCP服务进行过通信的情况下,可以启动TCP服务中的预设线程向服务器端发送协议包,例如,可以启动TCP服务中的Ping线程向服务器端发送Ping包,服务器端在接收到客户端发送的协议包后,根据该协议包可以确定客户端与其在10分钟内未进行过通信,然后判断是否存在允许客户端将通信服务由TCP服务切换为UDP服务的条件,其中,是否允许客户端将通信服务由TCP服务切换为UDP服务的条件指通信服务切换到UDP服务后,客户端与服务器端之间传输的数据包能够大部分被安全完整地送达彼此,若能够实现大部分的数据包被安全完整地送达,则允许客户端将通信服务切换至UDP服务;否则,客户端将通信服务应保持在TCP服务不变。步骤S202,接收服务器端响应该协议包而发送的第一数据包。不论是否允许客户端将通信服务由TCP服务切换为UDP服务,服务器端在确定后,都会响应该协议包而向客户端发送第一数据包,客户端接收服务器端发送的第一数据包,其中,服务器本文档来自技高网...
通信方法、装置、客户端及计算机存储介质

【技术保护点】
一种通信方法,应用于客户端,其特征在于,所述方法包括:实时监测客户端与服务器端之间在第一预设时间段是否通过TCP服务进行过通信;若否,则启动所述TCP服务中的预设线程向服务器端发送协议包,以供所述服务器端确定是否允许客户端将通信服务由TCP服务切换为UDP服务;接收所述服务器端响应该协议包而发送的第一数据包;对所述第一数据包进行解析,得到所述第一数据包的类型以及第一数据包中预置的编码;若所述第一数据包为第一类型的数据包,且预置的编码为预设编码,则将通信服务由TCP服务切换为UDP服务。

【技术特征摘要】
1.一种通信方法,应用于客户端,其特征在于,所述方法包括:实时监测客户端与服务器端之间在第一预设时间段是否通过TCP服务进行过通信;若否,则启动所述TCP服务中的预设线程向服务器端发送协议包,以供所述服务器端确定是否允许客户端将通信服务由TCP服务切换为UDP服务;接收所述服务器端响应该协议包而发送的第一数据包;对所述第一数据包进行解析,得到所述第一数据包的类型以及第一数据包中预置的编码;若所述第一数据包为第一类型的数据包,且预置的编码为预设编码,则将通信服务由TCP服务切换为UDP服务。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述服务器端通过UDP服务而发送的第二数据包;对所述第二数据包进行解析,得到所述第二数据包的类型;若所述第二数据包为第二类型的数据包,则将通信服务由UDP服务切换为TCP服务;若所述第二数据包为第一类型的数据包或者第三类型的数据包,则保持通信服务为UDP服务。3.根据权利要求1或2所述的方法,其特征在于,在将通信服务由TCP服务切换为UDP服务之后,所述方法还包括:启动UDP服务中的预设线程每隔第二预设时间段向服务器端发送协议包,以保持客户端与服务器端之间的UDP通道畅通。4.根据权利要求1或2所述的方法,其特征在于,所述实时监测客户端与服务器端之间在第一预设时间段是否通过TCP服务进行过通信进一步包括:获取客户端本地当前时间以及客户端与服务器端之间最近一次的通信时间;比较客户端本地当前时间与客户端与服务器端之间最近一次的通信时间的差值是否大于或等于第一预设时间段;若是,则确定客户端与服务器端之间在第一预设时间段未通过TCP服务进行过通信。5.一种通信装置,应用于客户端,其特征在于,所述装置包括:监测模块,用于实时监测客户端与服务器端之间在第一预设时间段是否通过TCP服务进行过通信;第一发送模块,用于若监测到客户端与服务器端之间在第一预设时间段未通过TCP服务进行过通信,则启动所述TCP服务中的预设线程向服务器端发送协议包,以供所述服务器端确定是...

【专利技术属性】
技术研发人员:孟赫陈卓王冬杰
申请(专利权)人:世纪禾光科技发展北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1