本发明专利技术适用于通信技术领域,提供了一种转发消息的方法、系统及服务器,所述方法包括:服务器接收客户端发送的消息;服务器根据所述消息判断需要转发所述消息至实时客户端还是拉取客户端;如果需要转发所述消息至实时客户端,则服务器实时发送所述消息至实时客户端;如果需要转发所述消息至拉取客户端,则服务器先暂存所述消息,当拉取客户端到服务器拉取消息时,再转发所述消息至拉取客户端。本发明专利技术,服务器既可以支持实时推送方式,也可以支持定期拉取方式,实现了客户端之间、客户端与服务器之间既可以进行实时通信,也可以进行非实时通信。
【技术实现步骤摘要】
一种转发消息的方法、系统及服务器
本专利技术属于通信
,尤其涉及一种转发消息的方法、系统及服务器。
技术介绍
目前,客户端和服务器进行通信时,主要采用两种方式进行通信,一种是实时推送方式,另一种是定期拉取方式。实时推送方式是客户端与服务器之间进行消息的实时交互;定期拉取方式是客户端定期从服务器上拉取消息。随着通信技术的发展,人类的通信需求越来越高。当今只能支持其中一种通信方式的服务器已经满足不了用户的需求,迫切需要一种既能支持实时推送方式,又能支持定期拉取方式的服务器。
技术实现思路
本专利技术实施例提供了一种转发消息的方法、系统及服务器,旨在解决现有技术提供的服务器无法同时支持实时推送方式和定期拉取方式这两种通信方式的问题。一方面,提供一种转发消息的方法,所述方法包括:服务器接收客户端发送的消息;服务器根据所述消息判断需要转发所述消息至实时客户端还是拉取客户端;如果需要转发所述消息至实时客户端,则服务器实时发送所述消息至实时客户端;如果需要转发所述消息至拉取客户端,则服务器先暂存所述消息,当拉取客户端到服务器拉取消息时,再转发所述消息至拉取客户端。进一步地,所述客户端是实时客户端或拉取客户端。进一步地,所述服务器先暂存所述消息,当拉取客户端到服务器拉取消息时,再转发所述消息至拉取客户端包括:服务器把所述消息暂存到第一队列;当拉取客户端到服务器拉取消息时,服务器将所述第一队列中存储的所述消息存入第二队列中,同时使所述第一队列为空,拉取客户端从所述第二队列中拉取所述消息。进一步地,在所述拉取客户端从所述第二队列中拉取所述消息的同时,若服务器接收到新的需要转发给拉取客户端的消息,则暂存所述新的需要转发给拉取客户端的消息至第一队列中,等待下一次被拉取客户端拉取。另一方面,提供一种服务器,所述服务器包括:连接建立单元,用于与客户端建立连接;消息接收单元,用于接收客户端发送的消息;客户端识别单元,用于根据所述消息判断需要转发所述消息至实时客户端还是拉取客户端;消息实时发送单元,用于如果需要转发所述消息至实时客户端,则实时发送所述消息至实时客户端;消息拉取单元,用于如果需要转发所述消息至拉取客户端,则先暂存所述消息,当拉取客户端到服务器拉取消息时,再转发所述消息至拉取客户端。进一步地,所述客户端是实时客户端或拉取客户端。进一步地,所述消息拉取单元包括:消息暂存子单元,用于把所述消息暂存到第一队列;消息拉取子单元,用于当拉取客户端到服务器拉取消息时,将所述第一队列中存储的所述消息存入第二队列中,同时使所述第一队列为空,拉取客户端从所述第二队列中拉取所述消息。进一步地,所述消息拉取子单元还用于,在所述拉取客户端从所述第二队列中拉取所述消息的同时,若接收到新的需要转发给拉取客户端的消息,则暂存所述新的需要转发给拉取客户端的消息至第一队列中,等待下一次被拉取客户端拉取。再一方面,提供一种转发消息的系统,所述系统包括至少两个客户端,与所述客户端连接的如上所述的服务器。在本专利技术实施例,服务器接收到客户端发送的消息后,可以将消息直接转发给实时客户端,也可以将接收到的消息先暂存在本地,等到拉取客户端来拉取消息时,再将接收到的消息转发给拉取客户端。服务器既可以支持实时推送方式,也可以支持定期拉取方式。实现了客户端之间、客户端与服务器之间既可以进行实时通信,也可以进行非实时通信。【附图说明】图1是本专利技术实施例一提供的转发消息的方法的实现流程图;图2是本专利技术实施例二提供的服务器的结构框图;图3是本专利技术实施例一提供的转发消息的系统的结构框图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。在本专利技术实施例中,服务器接收到客户端发送的消息后,可以将消息直接转发给实时客户端,也可以将接收到的消息先暂存在本地,等到拉取客户端来拉取消息时,再将接收到的消息转发给拉取客户端。服务器既可以支持实时推送方式,也可以支持定期拉取方式。以下结合具体实施例对本专利技术的实现进行详细描述:实施例一图1示出了本专利技术实施例一提供的转发消息的方法的实现流程,以服务器侧为例来进行说明,详述如下:在步骤SlOl中,服务器接收客户端发送的消息。在本实施例中,客户端与服务器建立连接,服务器验证客户端的用户名密码合法性,如果合法,则建立连接成功,如果非法,则断开连接。其中,客户端是实时客户端或拉取客户端。实时客户端包括Iinux嵌入式设备、智能手机、PC客户端;拉取客户端是基于拉取模式的客户端,比如安装有浏览器的客户端。客户端调用服务器的接口客户端代理,把客户端需要发送给服务器的消息封装成服务器规定的消息格式发送给服务器。在步骤S102中,服务器根据所述消息判断需要转发所述消息至实时客户端还是拉取客户端。在本实施例中,服务器接收到消息后,对消息进行解析,提取出消息中包括的目标客户端的信息,根据该目标客户端的信息判断需要转发消息至实时客户端还是拉取客户端。在步骤S103中,如果需要转发所述消息至实时客户端,则服务器实时发送所述消息至实时客户端。在本实施例中,如果从客户端接收到的消息是要转发给实时客户端,则服务器直接调用实时客户端的回调接口代理,由所述回调接口代理将所述消息封装成实时客户端规定的消息格式发送给实时客户端。在步骤S104中,如果需要转发所述消息至拉取客户端,则服务器先暂存所述消息,当拉取客户端到服务器拉取消息时,再转发所述消息至拉取客户端。在本实施例中,如果从客户端接收到的消息是要转发给拉取客户端,则服务器先把该消息暂存到第一队列中,等待拉取客户端定期到服务器来拉取。当拉取客户端从服务器拉取消息时,服务器将暂存在所述第一队列中的该消息存入第二队列中,同时使所述第一队列为空,拉取客户端从第二队列中拉取暂存的该消息。在拉取客户端从该第二队列中拉取所述消息的同时,若服务器接收到新的需要转发给拉取客户端的消息,则暂存所述新的需要转发给拉取客户端的消息至第一队列中,等待下一次被拉取客户端拉取。需要说明的是,在第一队列和第二队列中的内容进行交换时,服务器会对第一队列和第二队列进行加锁同步,使得第二队列和第一队列的内容实现同步更新。本实施例,服务器接收到客户端发送的消息后,可以将消息直接转发给实时客户端,也可以将接收到的消息先暂存在本地,等到拉取客户端来拉取消息时,再将接收到的消息转发给拉取客户端。服务器既可以支持实时推送方式,也可以支持定期拉取方式。实现了客户端之间、客户端与服务器之间既可以进行实时通信,也可以进行非实时通信。本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如R0M/RAM、磁盘或光盘等。实施例二图2示出了本专利技术实施例二提供的服务器的具体结构框图,为了便于说明,仅示出了与本专利技术实施例相关的部分。该服务器2包括:消息接收单元21、客户端识别单元22、消息实时发送单元23和消息拉取单元24。其中,消息接收单元21,用于接收客户端发送的消息;客户端识别单元22,用于根据所述消息判断需要转发所述消息至本文档来自技高网...
【技术保护点】
一种转发消息的方法,其特征在于,所述方法包括:服务器接收客户端发送的消息;服务器根据所述消息判断需要转发所述消息至实时客户端还是拉取客户端;如果需要转发所述消息至实时客户端,则服务器实时发送所述消息至实时客户端;如果需要转发所述消息至拉取客户端,则服务器先暂存所述消息,当拉取客户端到服务器拉取消息时,再转发所述消息至拉取客户端。
【技术特征摘要】
1.一种转发消息的方法,其特征在于,所述方法包括: 服务器接收客户端发送的消息; 服务器根据所述消息判断需要转发所述消息至实时客户端还是拉取客户端; 如果需要转发所述消息至实时客户端,则服务器实时发送所述消息至实时客户端; 如果需要转发所述消息至拉取客户端,则服务器先暂存所述消息,当拉取客户端到服务器拉取消息时,再转发所述消息至拉取客户端。2.如权利要求1所述的方法,其特征在于,所述客户端是实时客户端或拉取客户端。3.如权利要求2所述的方法,其特征在于,所述服务器先暂存所述消息,当拉取客户端到服务器拉取消息时,再转发所述消息至拉取客户端包括: 服务器把所述消息暂存到第一队列; 当拉取客户端到服务器拉取消息时,服务器将所述第一队列中存储的所述消息存入第二队列中,同时使所述第一队列为空,拉取客户端从所述第二队列中拉取所述消息。4.如权利要求3所述的方法,其特征在于,在所述拉取客户端从所述第二队列中拉取所述消息的同时,若服务器接收到新的需要转发给拉取客户端的消息,则暂存所述新的需要转发给拉取客户端的消息至第一队列中,等待下一次被拉取客户端拉取。5.一种服务器,其特征在于,所述服务器包括: 消息接收单元,用于接收客户端...
【专利技术属性】
技术研发人员:陶金虎,
申请(专利权)人:TCL集团股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。