CN102917082A - 穿透网络地址转换的消息推送方法及系统 - Google Patents
穿透网络地址转换的消息推送方法及系统 Download PDFInfo
- Publication number
- CN102917082A CN102917082A CN2012103820639A CN201210382063A CN102917082A CN 102917082 A CN102917082 A CN 102917082A CN 2012103820639 A CN2012103820639 A CN 2012103820639A CN 201210382063 A CN201210382063 A CN 201210382063A CN 102917082 A CN102917082 A CN 102917082A
- Authority
- CN
- China
- Prior art keywords
- message
- client
- data
- information
- sends
- 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
Images
Abstract
本发明公开了一种穿透网络地址转换的消息推送方法及系统。该方法包括:接收客户端在启动时发送的注册消息,获取注册消息中携带的客户端信息,并进行存储;接收数据消息发送客户端发送的数据消息,根据数据消息中携带的目标用户标识信息,查询获取目标用户标识信息映射的客户端信息,根据获取的客户端信息转发数据消息;接收数据消息接收客户端返回的数据响应消息,向数据消息发送客户端转发。应用本发明,可以提升消息推送效率。
Description
技术领域
本发明涉及网络地址转换(NAT,Network Address Translation)技术,尤其涉及一种穿透网络地址转换的消息推送方法及系统。
背景技术
现有的IPv4协议,因特网(Internet)内的每个客户端都有一个唯一的IP地址,即公共网络地址,IP地址用一个32位二进制的数来表示。由于32位的二进制数仅仅能表示十亿级别的数值,因而,随着接入Internet的客户端数量的不断增加,IP地址资源也就愈加显得捉襟见肘。例如,一般用户几乎申请不到整段的C类IP地址,又例如,当向互联网业务提供商(ISP,Internet Service Provider)申请IP地址时,即使是拥有上百台客户端的大型局域网用户,也只能分配到几个或十几个IP地址。显然,这样少的IP地址根本无法满足网络用户的需求。
下一代互联网协议IPv6采用128位二进制数表示一个IP地址,因而,可以有效增加IP地址的数量,虽然IPv6协议已经被讨论制定,但由于新的协议需要众多的设备厂商的支持,同时需要对现有的基础网络设施进行大规模地升级或换代,所需的时间和成本都难以估量,因而,短期内也无法大规模地实施。
为了满足网络用户的需求,降低网络升级或换代所需的时间和成本,目前的互联网企业普遍采用网络地址转换方式,网络地址转换属于接入广域网(WAN,Wide Area Network)技术,用于在内部网络和公共网络之间进行地址转换,从而将内部网络的私有(保留)地址转化为公共网络的合法IP地址,广泛应用于各种类型Internet接入方式和各种类型的网络中。内部网络和公共网络之间,设置有用于地址转换的NAT设备,其中,处于同一NAT设备后的网络称为内部网络(私网),处于NAT设备前的网络称为公共网络(公网),内部网络内的客户端通过NAT设备与公共网络内的客户端进行通信,在通过NAT设备构建的网络系统中,允许处于同一NAT设备后的多台客户端共享一个公共网络IP地址,即内部网络内的客户端利用私网IP地址,通过NAT设备转换为公共网络IP地址,从而与公共网络内的客户端通信。这样,NAT技术不仅完美地解决了IP地址资源不足的问题,而且,还能够有效地避免来自网络外部(公共网络)的攻击,隐藏并保护网络内部(内部网络)的客户端。
NAT设备虽然允许内部网络(私网)内客户端主动向公共网络(公网)内客户端发送数据,但却禁止反方向的主动数据传递,即不支持公网内客户端向私网内客户端发送连接并传输数据,使得在一些特殊场合下,不同网络,即公网与私网内的客户端无法进行互联的活动,例如,P2P软件、网络会议、视频传输等无法进行,从而明显制约了互联网应用的发展,制约了用户的业务体验。
为了支持公网内客户端向私网内客户端发送连接并传输数据,现有技术提出了穿透NAT的消息推送方法,目前穿越NAT实现消息推送的方法大概有以下方式:
1)各消息发送客户端与消息推送服务器建立TCP连接,通过消息推送服务器的中转完成消息推送。具体来说,以客户端A向客户端B发送消息为例,穿透NAT的消息推送方法的流程为:第一步,客户端A将信息发给消息推送服务器;第二步,消息推送服务器根据接收的信息获取客户端B的连接地址;第三步,消息推送服务器使用TCP协议进行中转,将信息转发给客户端B,由TCP协议保证传输数据的完整性。
2)发送消息的各客户端通过向消息推送服务器发送同步请求,消息推送服务器收到同步请求后,向通信的双方(消息发送客户端以及消息接收客户端)发送携带有对方地址(目的地址)信息的数据包,通信的双方收到消息推送服务发送的携带有对方地址信息的数据包时,获取对方地址信息,使用获得的对方地址信息与对方进行通信,建立通信通道并完成后续通信。
3)通信的双方通过通用即插即用(UPNP,Universal Plug and Play)协议建立相互的地址信任,然后使用彼此信任的地址信息完成后续通信。
由上述可见,现有穿越NAT实现消息推送的方法,存在以下缺陷:
1)第一种解决方法,各消息发送客户端需要与消息推送服务器建立连接才能完成通信,带来如下的技术问题:由于消息推送服务器的可用连接数有限,从而导致可提供的服务用户数有限,使得消息发送客户端需要等待较长时间才能建立与消息推送服务器的连接,消息推送所需的时间较长、推送效率较低,不能满足网络用户的需求;进一步地,由于网络原因,消息发送客户端与消息推送服务器之间的连接可能中断,消息发送客户端还需使用额外的资源维护连接,消耗了消息发送客户端的资源,使推送效率进一步降低;而且,采用TCP协议进行通信,需要在确保数据发送成功后,才能发送后续数据,导致可处理的并发用户数受限。
2)第二种解决方案,采用对称型NAT(Symmetric NAT)进行数据推送,由于Symmetric NAT在所有会话期间不会保持内部网络(私有IP地址,私有端口号)和公共网络(公共网络IP地址,公共网络端口号)的绑定关系,导致目的客户端在通过Symmetric NAT接收数据后,不能再建立与源客户端的连接,从而不能完成通信,使得消息推送效率较低,不能满足网络用户的需求;
3)第三种解决方案,通信双方须在实施通信前,协商建立通信通道才能完成通信,当需要发送数据的客户端较多时,实现逻辑复杂,导致消息推送效率降低。
发明内容
本发明的实施例提供一种穿透网络地址转换的消息推送方法,提升消息推送效率。
本发明的实施例还提供一种穿透网络地址转换的消息推送系统,提升消息推送效率。
为达到上述目的,本发明实施例提供的一种穿透网络地址转换的消息推送方法,包括:
接收客户端在启动时发送的注册消息,获取注册消息中携带的客户端信息,并进行存储;
接收数据消息发送客户端发送的数据消息,根据数据消息中携带的目标用户标识信息,查询获取目标用户标识信息映射的客户端信息,根据获取的客户端信息转发数据消息;
接收数据消息接收客户端返回的数据响应消息,向数据消息发送客户端转发。
其中,所述客户端信息包括:用户标识信息以及客户端公共网络地址信息。
其中,在接收到客户端在启动时发送的注册消息后,所述方法进一步包括:
将该客户端的状态设置为注册,触发启动状态计时器;
如果在状态计时器设置的计时时间内,接收到该客户端发送的任何消息,触发重新启动状态计时器;
如果在状态计时器设置的计时时间结束后,监测到接收模块还未接收到该客户端发送的任何消息,触发向该客户端发送心跳探测信息,并重新启动状态计时器;如果在重新启动的状态计时器计时结束后,还未接收到该客户端发送的心跳探测响应信息,将该客户端的状态设置为未注册。
其中,客户端在发送注册消息后,所述方法进一步包括:
触发启动状态维护计时器;
如果在状态维护计时器预先设置的维护计时时间内,监测到向消息推送服务器发送消息或接收到消息,则重新启动状态计时器;
如果在状态维护计时器预先设置的维护计时时间到后,监测到注册的客户端未向消息推送服务器发送消息,触发消息推送服务器向该注册的客户端发送心跳探测信息。
其中,所述方法进一步包括:
如果查询没有获取目标用户标识信息映射的客户端信息,则向发送数据消息的客户端返回数据消息发送失败信息。
其中,数据消息发送客户端在发送数据消息后,所述方法进一步包括:
数据消息发送客户端启动计时,如果在预先设置的重传计时时间内,接收到数据消息发送失败信息,或者,在预先设置的重传计时时间超时后,没有接收到接收该数据消息的客户端发送的任何信息,重传该数据消息。
一种穿透网络地址转换的消息推送系统,该系统包括:客户端信息数据库、消息推送服务器以及客户端,其中,
消息推送服务器,用于接收客户端发送的注册消息,获取注册消息中携带的客户端信息,输出至客户端信息数据库;
接收客户端发送的数据消息,根据数据消息中携带的目标用户标识信息,查询客户端信息数据库,获取目标用户标识信息映射的客户端信息,根据获取的客户端信息转发数据消息;
客户端信息数据库,用于保存客户端信息;
客户端,用于在启动时,向消息推送服务器发送注册消息;在需要进行数据传输时,向消息推送服务器发送数据消息,携带目标用户标识信息;接收消息推送服务器发送的数据消息,如果数据消息中携带有确认标识,向消息推送服务器返回确认信息。
较佳地,所述消息推送服务器在将客户端的状态设置为未注册后,进一步用于向与该客户端通信的客户端发送通知消息,以通知与该客户端通信的客户端中断通信。
较佳地,所述消息发送客户端在向消息推送服务器发送的数据消息中携带有确认标识,用于通知消息接收客户端在接收到该数据消息时,返回确认信息。
较佳地,所述客户端在发送注册消息后,进一步用于触发启动状态维护计时器;
如果在状态维护计时器预先设置的维护计时时间内,监测到向消息推送服务器发送消息或接收到消息,则重新启动状态计时器;
如果在状态维护计时器预先设置的维护计时时间到后,监测到注册的客户端未向消息推送服务器发送消息,触发消息推送服务器向该注册的客户端发送心跳探测信息。
较佳地,所述消息推送服务器包括:接收模块、注册模块、数据消息处理模块以及发送模块,其中,
接收模块,用于接收消息,如果是注册消息,发送至注册模块;如果是数据消息,发送至数据消息处理模块;
注册模块,用于获取注册消息中携带的客户端信息,输出至发送模块;
数据消息处理模块,用于根据数据消息中携带的目标用户标识信息,查询客户端信息数据库,获取目标用户标识信息映射的客户端信息,将获取的客户端信息携带在数据消息中,输出至发送模块;
发送模块,用于将接收的客户端信息输出至客户端信息数据库,将接收的数据消息输出至客户端信息对应的客户端。
较佳地,所述消息推送服务器进一步包括:注册状态监测模块以及状态计时器,其中,
注册状态监测模块,用于在接收到客户端发送的注册消息时,将该客户端的状态设置为注册,触发启动状态计时器;
如果在状态计时器设置的计时时间内,接收到该客户端发送的任何消息,触发重新启动状态计时器;
如果在状态计时器设置的计时时间结束后,监测到接收模块还未接收到该客户端发送的任何消息,触发向该客户端发送心跳探测信息,并重新启动状态计时器;如果在重新启动的状态计时器计时结束后,还未接收到该客户端发送的心跳探测响应信息,将该客户端的状态设置为未注册;
状态计时器,用于根据注册状态监测模块的触发,进行计时。
较佳地,所述客户端包括:注册请求模块、用户数据报协议UDP发送模块以及数据接收模块,其中,
注册请求模块,用于在客户端启动时,向消息推送服务器发送注册消息,携带客户端信息;
UDP发送模块,用于在需要进行数据传输时,向消息推送服务器发送数据消息,携带目标用户标识信息以及确认标识信息;
数据接收模块,用于接收消息推送服务器发送的数据消息,如果数据消息中携带有确认标识,向消息推送服务器返回确认信息。
较佳地,所述客户端进一步包括:
重传计时器,用于在UDP发送模块发送数据消息后,启动计时,如果在预先设置的重传计时时间内,接收到数据消息发送失败信息,或者,在预先设置的重传计时时间超时后,没有接收到接收该数据消息的客户端发送的任何信息,通知UDP发送模块重传该数据消息。
较佳地,所述客户端进一步包括:
重传处理模块,用于判断UDP发送模块重传数据消息的次数是否小于或等于预先设置的重传次数阈值,如果是,不作处理,否则,通知UDP发送模块终止该数据消息的重传。
较佳地,所述客户端进一步包括:
数据消息处理模块,用于计算单位时间内,UDP发送模块发送数据消息的数据量,如果计算得到的数据量大于预先获取的消息接收客户端的数据量阈值,通知UDP发送模块降低数据消息发送速率,如果计算得到的数据量等于预先获取的消息接收客户端的数据量阈值,通知UDP发送模块维持当前数据消息发送速率,如果计算得到的数据量小于预先获取的消息接收客户端的数据量阈值,通知UDP发送模块提高数据消息发送速率。
较佳地,所述客户端进一步包括:
注册状态维护模块以及状态维护计时器,其中,
注册状态维护模块,用于在发送注册消息后,触发启动状态维护计时器;
如果在状态维护计时器预先设置的维护计时时间内,监测到UDP发送模块向消息推送服务器发送消息或数据消息接收模块接收到消息,则重新启动状态计时器;
如果在状态维护计时器预先设置的维护计时时间到后,监测到UDP发送模块未向消息推送服务器发送消息,接收心跳探测信息,触发UDP发送模块向消息推送服务器发送心跳探测响应信息;
状态维护计时器,用于根据注册状态维护模块的触发,进行计时。
由上述技术方案可见,本发明实施例提供的一种穿透网络地址转换的消息推送方法及系统,接收客户端在启动时发送的注册消息,获取注册消息中携带的客户端信息,并进行存储;接收数据消息发送客户端发送的数据消息,根据数据消息中携带的目标用户标识信息,查询获取目标用户标识信息映射的客户端信息,根据获取的客户端信息转发数据消息;接收数据消息接收客户端返回的数据响应消息,向数据消息发送客户端转发。这样,通过对使用客户端的用户进行注册,从而对客户端以及用户进行统一管理,数据消息发送客户端可以连续发送数据消息、且只携带收发双方的用户ID信息,增强了通信的安全性,并设置返回数据响应消息,从而保证数据消息的可靠传输,实现消息发送客户端可以随时向多个消息接收客户端发送数据消息,从而提升了消息的推送效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,以下将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,还可以根据这些附图所示实施例得到其它的实施例及其附图。
图1为本发明实施例穿透网络地址转换的消息推送系统结构示意图。
图2为本发明实施例穿透网络地址转换的消息推送方法流程示意图。
图3为本发明实施例穿透网络地址转换的消息推送方法具体流程示意图。
图4为本发明实施例穿透网络地址转换的消息推送方法另一具体流程示意图。
具体实施方式
以下将结合附图对本发明各实施例的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
现有穿越NAT实现消息推送的方法,无论是各消息发送客户端与消息推送服务器建立TCP连接,通过消息推送服务器的中转完成消息推送,还是发送消息的各客户端通过向消息推送服务器发送同步请求建立通信通道,或者是通信的双方通过UPNP协议建立相互的地址信任实现消息推送,都存在消息推送效率较低,不能满足网络用户需求的技术问题。
本发明实施例中,提供一种穿透网络地址转换的消息推送方法,用于为处于不同NAT设备后的客户端之间成功建立通信通道,并使得消息推送服务器可以同时完成众多消息的转发,以及,消息发送客户端可以随时向多个消息接收客户端发送消息,并通过预先设置的确认信息返回机制保证消息可靠发送。其总体解决思路为:
一、消息发送客户端以固定的地址(公共网络地址)与消息推送服务器交互信息及数据,从而屏蔽各客户端通过不同NAT设备对建立通信通道的影响;
二、消息推送服务器使用无连接的用户数据报协议(UDP,UserDatagram Protocol)协议转发消息,实现消息推送服务器可以同时完成多个数据包的转发任务;
三、由消息推送服务器管理消息接收客户端信息以及消息发送客户端信息,消息发送客户端只需负责将数据消息包提交给消息推送服务器,由消息推送服务器将数据消息包发送到消息接收客户端,消息接收客户端在接收到数据消息包后,通过返回确认信息,从而保证数据包的可靠传输,实现消息发送客户端可以随时向多个消息接收客户端发送数据消息。
本发明中,1.利用异步可靠UDP通信的特点,客户端的外网行为地址相对固定,消息推送服务器才得以实现穿越NAT;2.消息推送由消息推送服务器完成,消息推送服务可实现对用户的行为进行运营管理。
图1为本发明实施例穿透网络地址转换的消息推送系统结构示意图。参见图1,该系统包括:客户端信息数据库、消息推送服务器以及客户端,其中,
客户端既可以是消息发送客户端,也可以是消息接收客户端,还可以是既进行消息发送,又进行消息接收的客户端,消息发送客户端以及消息接收客户端中设置有异步、可靠的UDP发送模块;
消息推送服务器,用于接收客户端发送的注册消息,获取注册消息中携带的客户端信息,输出至客户端信息数据库;
接收客户端发送的数据消息,根据数据消息中携带的目标用户标识(ID)信息,查询客户端信息数据库,获取目标用户ID信息映射的客户端信息,根据获取的客户端信息转发数据消息;
本发明实施例中,客户端信息主要包括:用户标识(ID)信息、客户端公共网络地址信息等。其中,对于公共网络中的客户端,客户端公共网络地址信息为分配的公共网络地址信息,对于内部网络中的客户端,客户端公共网络地址信息为该客户端所属的公共网络地址信息,也就是说,对于内部网络中的各客户端,其所属的公共网络地址信息都相同,通过不同的端口号来区分同一内部网络内的不同客户端。
实际应用中,由于一个用户ID可以应用在不同的客户端,例如,同一用户ID可以通过不同客户端,向消息推送服务器进行注册。不同的客户端,可以使用相同的用户ID,但同一时间,只能是一个客户端使用一个用户ID,即在同一时间内,一个用户ID对应一个客户端公共网络地址信息。
较佳地,该消息推送服务器中还可以进一步用于在接收到客户端发送的注册消息时,将该客户端的状态设置为注册;启动状态计时器,如果在状态计时器计时结束后,还未接收到该客户端发送的任何消息,触发向该客户端发送心跳探测信息,并重新启动状态计时器,如果在重新启动的状态计时器计时结束后,还未接收到该客户端发送的心跳探测响应信息,将该客户端的状态设置为未注册;如果在重新启动的状态计时器计时结束前,接收到该客户端发送的心跳探测响应信息,或者,在状态计时器计时结束前,接收到该客户端发送的任何消息,重新启动状态计时器。
进一步地,消息推送服务器在将客户端的状态设置为未注册后,向与该客户端通信的客户端发送通知消息,以通知与该客户端通信的客户端中断通信。
本发明实施例中,用户通过客户端登录网络时,通过向消息推送服务器发送注册消息,携带包含用户ID信息以及该客户端所属的公共网络地址信息的客户端信息,这样,使得客户端信息数据库中,存储有各在线的用户ID映射的客户端公共网络地址,从而使得客户端能够以固定的地址(公共网络地址)与消息推送服务器交互信息及数据,从而屏蔽各客户端通过不同NAT设备对建立通信通道的影响。使得消息推送服务器在接收到消息发送客户端(源客户端)发送的数据包后,通过解析接收的数据包,获取消息接收客户端(目标客户端)的用户ID,查询客户端信息数据库,获取与所述消息接收客户端的用户ID相匹配的客户端公共网络地址信息,将数据包转发给客户端公共网络地址信息对应的消息接收客户端。
实际应用中,消息推送服务器在查询客户端信息数据库时,如果没有获取目标用户ID信息映射的客户端信息,则向数据消息发送客户端返回数据消息发送失败信息。
客户端信息数据库,用于保存客户端信息;
本发明实施例中,客户端信息包括:用户标识(ID)信息以及客户端公共网络地址信息等。
客户端,用于在启动时,向消息推送服务器发送注册消息;在需要进行数据传输时,向消息推送服务器发送数据消息,携带目标用户ID信息;接收消息推送服务器发送的数据消息,如果数据消息中携带有确认标识,向消息推送服务器返回确认信息。
本发明实施例中,消息接收客户端以及消息发送客户端,用于在启动时使用异步、可靠的UDP发送模块向消息推送服务器注册;并使用异步、可靠的UDP发送模块向消息推送服务器发送数据消息,接收消息推送服务器输出的数据消息。
进一步地,消息发送客户端在向消息推送服务器发送数据消息时,除携带源用户ID信息以及目标用户ID信息之外,还可以携带有确认标识,用于通知消息接收客户端在接收到该数据消息时,返回确认信息。这样,消息发送客户端就可以连续发送数据消息,与采用同步传输数据相比,无需在发送一个数据消息后,需要接收到该数据消息的确认信息后,再发送下一数据消息,从而提升了消息的推送效率,克服了限制消息发送客户端通信能力的技术问题,在不限制消息发送客户端通信处理能力的同时,通过确认标识的设置,实现了数据消息的可靠传输。
实际应用中,客户端中还可以在发送数据消息后,启动重传计时器,如果在计时时间内,接收到数据消息发送失败信息,或者,在计时时间到后,没有接收到任何信息,重传该数据消息。
当然,客户端中还可以用于在发送注册消息后,启动状态维护计时器,在状态维护计时器计时时间到后,如果监测到注册的客户端没有向消息推送服务器发送消息,触发消息推送服务器向该注册的客户端发送心跳探测信息,用以保持在消息推送服务器中的注册状态;如果在状态维护计时器计时时间内,监测到向消息推送服务器发送消息或是接收到消息,则重新启动状态维护计时器。其中,状态维护计时器的计时时间可根据消息推送服务器中设置的计时时间以及客户端至消息推送服务器的消息传输时延考虑设置,使得发送的心跳探测信息在消息推送服务器中的状态计时器未计时完毕时达到消息推送服务器即可。
其中,
消息推送服务器包括:接收模块、注册模块、数据消息处理模块以及发送模块(图中未示出),其中,
接收模块,用于接收消息,如果是注册消息,发送至注册模块;如果是数据消息,发送至数据消息处理模块;
注册模块,用于获取注册消息中携带的客户端信息,输出至发送模块;
数据消息处理模块,用于根据数据消息中携带的目标用户标识(ID)信息,查询客户端信息数据库,获取目标用户ID信息映射的客户端信息,将获取的客户端信息携带在数据消息中,输出至发送模块;
发送模块,用于将接收的客户端信息输出至客户端信息数据库,将接收的数据消息输出至客户端信息对应的客户端。
进一步地,消息推送服务器还可以进一步包括:注册状态监测模块以及状态计时器,其中,
注册状态监测模块,用于在接收到客户端发送的注册消息时,将该客户端的状态设置为注册,触发启动状态计时器;
如果在状态计时器设置的计时时间内,接收到该客户端发送的任何消息,触发重新启动状态计时器;
如果在状态计时器设置的计时时间结束后,监测到接收模块还未接收到该客户端发送的任何消息,触发向该客户端发送心跳探测信息,并重新启动状态计时器;如果在重新启动的状态计时器计时结束后,还未接收到该客户端发送的心跳探测响应信息,将该客户端的状态设置为未注册;
状态计时器,用于根据注册状态监测模块的触发,进行计时。
客户端包括:注册请求模块、UDP发送模块以及数据接收模块(图中未示出),其中,
注册请求模块,用于在客户端启动时,向消息推送服务器发送注册消息,携带客户端信息;
UDP发送模块,用于在需要进行数据传输时,向消息推送服务器发送数据消息,携带目标用户ID信息以及确认标识信息;
本发明实施例中,UDP发送模块使用异步、可靠的UDP协议向消息推送服务器进行数据传输;数据消息中可以不携带源客户端信息,这样,可以有效减少传输的数据量。
确认标识信息用于通知接收数据的客户端需要返回确认信息。实际应用中,可以使用预先约定的字符表示是否需要接收数据的客户端返回确认信息,例如,确认标识为1时,表示需要接收数据的客户端返回确认信息,确认标识为0时,表示不需要接收数据的客户端返回确认信息。这样,通过对接收的消息返回确认信息,可以保障消息的可靠传输。
数据接收模块,用于接收消息推送服务器发送的数据消息,如果数据消息中携带有确认标识,向消息推送服务器返回确认信息。
本发明实施例中,对于未能成功接收的数据消息,数据接收模块向消息推送服务器返回数据消息发送失败信息,或者,消息推送服务器接收到客户端发送的数据消息时,确认需要接收数据消息的目标客户端信息为未注册状态,返回数据消息发送失败信息。确认信息以及数据消息发送失败信息可以携带在数据响应消息中。
较佳地,客户端还可以包括:
重传计时器,用于在UDP发送模块发送数据消息后,启动计时,如果在预先设置的重传计时时间内,接收到数据消息发送失败信息,或者,在预先设置的重传计时时间超时后,没有接收到接收该数据消息的客户端发送的任何信息,通知UDP发送模块重传该数据消息。
本发明实施例中,重传计时器可以根据接收的数据响应消息确定是否需要重传已发送的数据消息:如果接收该数据消息的客户端发送的数据响应消息中包含确认信息,则确定不重传该已发送的数据消息,如果接收该数据消息的客户端发送的数据响应消息中包含数据消息发送失败信息,则确定重传该已发送的数据消息,通知UDP发送模块重传该数据消息。
重传计时器也可以根据超时信息确定重传已发送的数据消息,即在预先设置的重传计时时间超时后,没有接收到接收该数据消息的客户端发送的任何消息,通知UDP发送模块重传该数据消息。
预先设置的重传计时时间可根据实际需要进行设置。
进一步地,为了避免数据发送客户端对发送的数据消息进行多次重传,导致资源浪费,该客户端还可以包括:
重传处理模块,用于判断UDP发送模块重传数据消息的次数是否小于或等于预先设置的重传次数阈值,如果是,不作处理,否则,通知UDP发送模块终止该数据消息的重传。
本发明实施例中,在数据消息的发送过程中,数据消息发送客户端可以通过与数据消息接收客户端的交互,获知数据消息接收客户端的接收能力,从而可以根据数据消息接收客户端实时反馈的接收能力,动态调整向数据消息接收客户端发送数据消息的速率,以避免数据消息接收客户端的接收数据压力过大导致数据堵塞的技术问题。因而,该客户端可以进一步包括:
数据消息处理模块,用于计算单位时间内,UDP发送模块发送数据消息的数据量,如果计算得到的数据量大于预先获取的消息接收客户端的数据量阈值,通知UDP发送模块降低数据消息发送速率,如果计算得到的数据量等于预先获取的消息接收客户端的数据量阈值,通知UDP发送模块维持当前数据消息发送速率,如果计算得到的数据量小于预先获取的消息接收客户端的数据量阈值,通知UDP发送模块提高数据消息发送速率。
当然,客户端中还可以进一步包括:注册状态维护模块以及状态维护计时器,其中,
注册状态维护模块,用于在发送注册消息后,触发启动状态维护计时器;
如果在状态维护计时器预先设置的维护计时时间内,监测到UDP发送模块向消息推送服务器发送消息或数据消息接收模块接收到消息,则重新启动状态计时器;
如果在状态维护计时器预先设置的维护计时时间到后,监测到UDP发送模块未向消息推送服务器发送消息,接收心跳探测信息,触发UDP发送模块向消息推送服务器发送心跳探测响应信息;
状态维护计时器,用于根据注册状态维护模块的触发,进行计时。
图2为本发明实施例穿透网络地址转换的消息推送方法流程示意图。参见图2,该流程包括:
步骤201,接收客户端在启动时发送的注册消息,获取注册消息中携带的客户端信息,并进行存储;
本步骤中,客户端信息包括:用户标识信息以及客户端公共网络地址信息。
客户端包括:数据消息发送客户端以及数据消息接收客户端。
较佳地,在接收到客户端在启动时发送的注册消息后,该方法进一步包括:
将该客户端的状态设置为注册,触发启动状态计时器;
如果在状态计时器设置的计时时间内,接收到该客户端发送的任何消息,触发重新启动状态计时器;
如果在状态计时器设置的计时时间结束后,监测到接收模块还未接收到该客户端发送的任何消息,触发向该客户端发送心跳探测信息,并重新启动状态计时器;如果在重新启动的状态计时器计时结束后,还未接收到该客户端发送的心跳探测响应信息,将该客户端的状态设置为未注册。
较佳地,客户端在发送注册消息后,进一步包括:
触发启动状态维护计时器;
如果在状态维护计时器预先设置的维护计时时间内,监测到向消息推送服务器发送消息或接收到消息,则重新启动状态计时器;
如果在状态维护计时器预先设置的维护计时时间到后,监测到注册的客户端未向消息推送服务器发送消息,触发消息推送服务器向该注册的客户端发送心跳探测信息。
步骤202,接收数据消息发送客户端发送的数据消息,根据数据消息中携带的目标用户ID信息,查询获取目标用户ID信息映射的客户端信息,根据获取的客户端信息转发数据消息;
本步骤中,数据消息发送客户端在发送数据消息后,进一步包括:
数据消息发送客户端启动计时,如果在预先设置的重传计时时间内,接收到接收该数据消息的客户端发送的数据消息发送失败信息,或者,在预先设置的重传计时时间超时后,没有接收到接收该数据消息的客户端发送的任何信息,重传该数据消息。
步骤203,接收数据消息接收客户端返回的数据响应消息,向数据消息发送客户端转发。
本步骤中,数据消息接收客户端接收消息推送服务器发送的数据消息,如果数据消息中携带有确认标识,向消息推送服务器返回确认信息。
图3为本发明实施例穿透网络地址转换的消息推送方法具体流程示意图。参见图3,该流程包括:
步骤301,客户端启动时,使用异步、可靠的UDP发送模块向消息推送送服务器发送注册消息;
本步骤中,异步具体是指客户端发送消息与消息推送服务器确认消息发送成功独立执行,相对于现有使用UDP实现可靠通信,客户端在发送消息后,接收到消息推送服务器返回的消息发送确认信息,或者,发送消息超时还未接收到消息推送服务器返回的消息发送确认信息,才触发发送下一条消息,提升了消息发送的速率,从而提升消息的推送效率。
注册消息包括:使用客户端的用户ID信息以及客户端公共网络地址信息,消息推送服务器接收到客户端发送的注册信息后,获取客户端公共网络地址信息与用户ID信息,并将客户端公共网络地址信息与用户ID信息保存到客户端信息数据库中。其中,
客户端公共网络地址信息,是指处于私网或公网中的客户端在所属公网中表现出来的公共网络地址信息,即客户端所属的公共网络地址信息。消息推送服务器接收到客户端发送的注册信息时,通过注册信息,能够获取客户端在公共网络活动上表现的公共网络地址信息。举例来说,如果私网内的客户端向消息推送服务器发送注册消息,则客户端先将注册消息发送至所属的公网,公网转发该注册信息,并携带该公网的公共网络地址信息;如果公网内的客户端向消息推送服务器发送注册消息,则客户端将携带有公共网络地址信息的注册消息直接向相连的消息推送服务器发送。
步骤302,消息推送服务器按照预先设置的周期,检查注册的客户端的活动信息,并进行相应处理;
本步骤中,如果注册的客户端在预先设定的时间内未向消息推送服务器发送消息,消息推送服务器向该客户端发送心跳探测信息;
消息推送服务器在预先设定的时间内,如果未接收到该客户端返回的心跳探测响应信息,消息推送服务器将该客户端的状态置为未注册,并通知与该客户端进行过通信的客户端,以使与该客户端进行过通信的客户端获知该客户端已离开。
步骤303,当第一客户端发送数据消息时,数据消息中包括源客户端的用户ID信息与目标客户端的用户ID信息,并将该数据消息发送给消息推送服务器;
本步骤中,源客户端的用户ID为发送数据包的客户端的用户ID,目标客户端的用户ID为接收数据包的客户端的用户ID。
步骤304,消息推送服务器接收到第一客户端发送的数据消息时,启动状态计时器,并根据数据消息是否需要转发,进行相应的处理;
本步骤中,消息推送服务器接收到客户端发送的数据消息时,首先更新源客户端的状态为已注册,即启动针对该源客户端的状态计时器,然后判断该数据消息是否为需转发的消息,如是为需转发的消息,根据消息中携带的目标客户端的用户ID,从客户端信息数据库中,获取目标客户端信息,如果目标客户端信息为未注册状态,返回数据消息发送失败信息给消息发送的源客户端,如果目标客户端信息为已注册状态,将消息转发到目标客户端。
步骤305,第二客户端接收到数据消息,判断是否需要返回确认信息,如果需要,返回确认信息后再处理数据消息。
本步骤中,第一客户端与第二客户端可以相同,也可以不同,在第二客户端接收到消息时,如果接收到的消息是确认信息,则按确认信息处理;如果是数据消息,判断是否需要返回确认信息,如果需要,返回确认信息后再处理数据消息;如果是心跳探测信息,则返回心跳探测响应信息。
下面以客户端A向客户端B发送消息,并需要客户端B进行确认为例,对本发明再做详细说明。
图4为本发明实施例穿透网络地址转换的消息推送方法另一具体流程示意图。参见图4,该流程包括:
步骤401,客户端A将携带有客户端A的用户ID信息及客户端B的用户ID信息的数据消息发送给消息推送服务器;
本步骤中,客户端的用户ID信息用以唯一标识使用客户端的用户以及客户端。
本发明实施例中,客户端A可以连续发送数据消息。
步骤402,消息推送服务器接收到客户端A发送的数据包后,更新客户端A的状态为已注册,从数据消息中获取客户端B的用户ID信息;
本步骤中,一个用户ID,可以对应不同的客户端,例如,同一用户可以通过不同客户端,向消息推送服务器进行注册。不同的客户端,可以使用相同的用户ID,但同一时间,只能是一个客户端使用一个用户ID。
步骤403,根据获取的客户端B的用户ID信息,从用户信息数据库中获取客户端B所属的公共网络地址信息,根据获取的客户端公共网络地址信息,将数据消息转发给客户端B;
步骤404,客户端B接收到消息推送服务器转发来的数据消息后,检查是需要返回确认,如果需要,向消息推送服务器返回携带有确认信息的数据响应消息;
本步骤中,数据响应消息中,携带有客户端A的用户ID信息与客户端B的用户ID信息。
步骤405,消息推送服务器接收到客户端B发送的数据响应消息后,更新客户端B的状态为已注册,从数据响应消息中获取客户端A的用户ID信息;
步骤406,根据客户端A的用户ID信息,从用户信息数据库中获取客户端A所属的公共网络地址信息,然后将数据响应消息转发给客户端A;
步骤407,客户端A接收到消息推送服务器转发的客户端B的数据响应消息后,完成一次带有确认信息的消息推送过程。
实际应用中,如果是无确认的消息发送,则流程在执行完步骤404后完成。
由上述可见,本发明实施例中,客户端使用异步、可靠的UDP发送模块收/发信息,使得任何客户端可以同时向众多客户端发送信息,提升了消息的推送效率,在运行中保持使用同一套接字(Socket)完成所有通信任务,避免了NAT设备完成每次通信使用不同的对外地址,从而使处于NAT设备后的客户端具有相对固定的公网地址,穿越NAT的通信通路可以长久有效;进一步地,消息推送服务器使用无连接的UDP协议进行消息转发,可同时处理的转发数不受连接数限制,同时,消息发送的可靠性通过确认信息进行保证,根据接收的确认消息,从而保证发送消息的可靠性,增强了系统的服务能力;而且,由消息推送服务器统一管理客户端的地址信息,便于统计、分析客户端用户的行为,消息发送客户端与消息接收客户端之间透明,由于只知道收发双方的用户ID信息,双方很难从信息交互中找到攻击突破口,从而增强了彼此的安全性;此外,建立的穿越NAT的通信通路可以长久有效,多个消息推送服务器可以共享获得的客户端地址信息,消息推送服务器可以进行冗余部署,增强了系统的可靠性。
显然,本领域技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也包含这些改动和变型在内。
Claims (10)
1.一种穿透网络地址转换的消息推送方法,包括:
接收客户端在启动时发送的注册消息,获取注册消息中携带的客户端信息,并进行存储;
接收数据消息发送客户端发送的数据消息,根据数据消息中携带的目标用户标识信息,查询获取目标用户标识信息映射的客户端信息,根据获取的客户端信息转发数据消息;
接收数据消息接收客户端返回的数据响应消息,向数据消息发送客户端转发。
2.根据权利要求1所述的方法,其中,所述客户端信息包括:用户标识信息以及客户端公共网络地址信息。
3.根据权利要求2所述的方法,其中,在接收到客户端在启动时发送的注册消息后,所述方法进一步包括:
将该客户端的状态设置为注册,触发启动状态计时器;
如果在状态计时器设置的计时时间内,接收到该客户端发送的任何消息,触发重新启动状态计时器;
如果在状态计时器设置的计时时间结束后,监测到接收模块还未接收到该客户端发送的任何消息,触发向该客户端发送心跳探测信息,并重新启动状态计时器;如果在重新启动的状态计时器计时结束后,还未接收到该客户端发送的心跳探测响应信息,将该客户端的状态设置为未注册。
4.根据权利要求2所述的方法,其中,客户端在发送注册消息后,所述方法进一步包括:
触发启动状态维护计时器;
如果在状态维护计时器预先设置的维护计时时间内,监测到向消息推送服务器发送消息或接收到消息,则重新启动状态计时器;
如果在状态维护计时器预先设置的维护计时时间到后,监测到注册的客户端未向消息推送服务器发送消息,触发消息推送服务器向该注册的客户端发送心跳探测信息。
5.根据权利要求1至4任一项所述的方法,其中,所述方法进一步包括:
如果查询没有获取目标用户标识信息映射的客户端信息,则向发送数据消息的客户端返回数据消息发送失败信息。
6.根据权利要求5所述的方法,其中,数据消息发送客户端在发送数据消息后,所述方法进一步包括:
数据消息发送客户端启动计时,如果在预先设置的重传计时时间内,接收到数据消息发送失败信息,或者,在预先设置的重传计时时间超时后,没有接收到接收该数据消息的客户端发送的任何信息,重传该数据消息。
7.一种穿透网络地址转换的消息推送系统,其特征在于,该系统包括:客户端信息数据库、消息推送服务器以及客户端,其中,
消息推送服务器,用于接收客户端发送的注册消息,获取注册消息中携带的客户端信息,输出至客户端信息数据库;
接收客户端发送的数据消息,根据数据消息中携带的目标用户标识信息,查询客户端信息数据库,获取目标用户标识信息映射的客户端信息,根据获取的客户端信息转发数据消息;
客户端信息数据库,用于保存客户端信息;
客户端,用于在启动时,向消息推送服务器发送注册消息;在需要进行数据传输时,向消息推送服务器发送数据消息,携带目标用户标识信息;接收消息推送服务器发送的数据消息,如果数据消息中携带有确认标识,向消息推送服务器返回确认信息。
8.根据权利要求7所述的系统,其特征在于,所述客户端在发送注册消息后,进一步用于触发启动状态维护计时器;
如果在状态维护计时器预先设置的维护计时时间内,监测到向消息推送服务器发送消息或接收到消息,则重新启动状态计时器;
如果在状态维护计时器预先设置的维护计时时间到后,监测到注册的客户端未向消息推送服务器发送消息,触发消息推送服务器向该注册的客户端发送心跳探测信息。
9.根据权利要求8所述的系统,其特征在于,所述消息推送服务器包括:接收模块、注册模块、数据消息处理模块以及发送模块,其中,
接收模块,用于接收消息,如果是注册消息,发送至注册模块;如果是数据消息,发送至数据消息处理模块;
注册模块,用于获取注册消息中携带的客户端信息,输出至发送模块;
数据消息处理模块,用于根据数据消息中携带的目标用户标识信息,查询客户端信息数据库,获取目标用户标识信息映射的客户端信息,将获取的客户端信息携带在数据消息中,输出至发送模块;
发送模块,用于将接收的客户端信息输出至客户端信息数据库,将接收的数据消息输出至客户端信息对应的客户端。
10.根据权利要求9所述的系统,其特征在于,所述消息推送服务器进一步包括:注册状态监测模块以及状态计时器,其中,
注册状态监测模块,用于在接收到客户端发送的注册消息时,将该客户端的状态设置为注册,触发启动状态计时器;
如果在状态计时器设置的计时时间内,接收到该客户端发送的任何消息,触发重新启动状态计时器;
如果在状态计时器设置的计时时间结束后,监测到接收模块还未接收到该客户端发送的任何消息,触发向该客户端发送心跳探测信息,并重新启动状态计时器;如果在重新启动的状态计时器计时结束后,还未接收到该客户端发送的心跳探测响应信息,将该客户端的状态设置为未注册;
状态计时器,用于根据注册状态监测模块的触发,进行计时。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210382063.9A CN102917082B (zh) | 2012-10-10 | 2012-10-10 | 穿透网络地址转换的消息推送方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210382063.9A CN102917082B (zh) | 2012-10-10 | 2012-10-10 | 穿透网络地址转换的消息推送方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102917082A true CN102917082A (zh) | 2013-02-06 |
CN102917082B CN102917082B (zh) | 2016-03-23 |
Family
ID=47615312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210382063.9A Active CN102917082B (zh) | 2012-10-10 | 2012-10-10 | 穿透网络地址转换的消息推送方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102917082B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014180407A1 (zh) * | 2013-12-06 | 2014-11-13 | 中兴通讯股份有限公司 | 推送方法及装置 |
CN104426977A (zh) * | 2013-09-02 | 2015-03-18 | 杭州鹏信科技有限公司 | 一种针对私网用户实现信息主动精准推送的方法 |
CN104092789B (zh) * | 2014-03-18 | 2017-07-07 | 财团法人交大思源基金会 | 会话感知的网络地址转换穿透方法 |
CN107770034A (zh) * | 2016-08-16 | 2018-03-06 | 中国移动通信有限公司研究院 | 一种消息处理方法及装置 |
CN109462606A (zh) * | 2018-12-19 | 2019-03-12 | 安徽典典科技发展有限责任公司 | 点对点远程访问方法 |
CN111417099A (zh) * | 2020-04-10 | 2020-07-14 | 北京百瑞互联技术有限公司 | 一种防止蓝牙连接断开的方法及系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1540952A (zh) * | 2003-11-03 | 2004-10-27 | 中兴通讯股份有限公司 | 多媒体系统静态地址转换方法 |
CN1767445A (zh) * | 2004-10-25 | 2006-05-03 | 任东海 | 网络游戏语音交流系统 |
CN1866880A (zh) * | 2005-08-05 | 2006-11-22 | 华为技术有限公司 | 下一代网络中的故障检测方法 |
CN101197808A (zh) * | 2006-12-08 | 2008-06-11 | 上海贝尔阿尔卡特股份有限公司 | 一种sip网络系统中维持nat地址绑定的方法及其装置 |
CN101252605A (zh) * | 2008-04-03 | 2008-08-27 | 杭州华三通信技术有限公司 | 穿越网络地址转换设备的多媒体通信方法、系统及装置 |
CN101442492A (zh) * | 2008-12-26 | 2009-05-27 | 中国科学院计算技术研究所 | 一种p2p网络中实现nat穿越的方法和系统 |
CN101860536A (zh) * | 2010-05-31 | 2010-10-13 | 北京邮电大学 | 一种基于sip软终端的私网穿越系统和方法 |
CN101895590A (zh) * | 2010-07-23 | 2010-11-24 | 华南理工大学 | 基于udt实现nat穿越的系统和方法 |
CN101938532A (zh) * | 2010-09-17 | 2011-01-05 | 北京神州泰岳软件股份有限公司 | 基于udp的穿越nat设备的方法及系统 |
CN102014176A (zh) * | 2010-12-13 | 2011-04-13 | 迈普通信技术股份有限公司 | 基于sip的nat映射保活方法及其系统 |
CN102291402A (zh) * | 2011-08-09 | 2011-12-21 | 中国联合网络通信集团有限公司 | 实现私网穿越的方法、装置及系统 |
CN102487546A (zh) * | 2010-12-01 | 2012-06-06 | 中兴通讯股份有限公司 | 一种会话初始化协议终端的注册方法及系统 |
CN102571749A (zh) * | 2010-12-27 | 2012-07-11 | 三星Sds株式会社 | 使用中继服务器的数据传输系统和方法 |
-
2012
- 2012-10-10 CN CN201210382063.9A patent/CN102917082B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1540952A (zh) * | 2003-11-03 | 2004-10-27 | 中兴通讯股份有限公司 | 多媒体系统静态地址转换方法 |
CN1767445A (zh) * | 2004-10-25 | 2006-05-03 | 任东海 | 网络游戏语音交流系统 |
CN1866880A (zh) * | 2005-08-05 | 2006-11-22 | 华为技术有限公司 | 下一代网络中的故障检测方法 |
CN101197808A (zh) * | 2006-12-08 | 2008-06-11 | 上海贝尔阿尔卡特股份有限公司 | 一种sip网络系统中维持nat地址绑定的方法及其装置 |
CN101252605A (zh) * | 2008-04-03 | 2008-08-27 | 杭州华三通信技术有限公司 | 穿越网络地址转换设备的多媒体通信方法、系统及装置 |
CN101442492A (zh) * | 2008-12-26 | 2009-05-27 | 中国科学院计算技术研究所 | 一种p2p网络中实现nat穿越的方法和系统 |
CN101860536A (zh) * | 2010-05-31 | 2010-10-13 | 北京邮电大学 | 一种基于sip软终端的私网穿越系统和方法 |
CN101895590A (zh) * | 2010-07-23 | 2010-11-24 | 华南理工大学 | 基于udt实现nat穿越的系统和方法 |
CN101938532A (zh) * | 2010-09-17 | 2011-01-05 | 北京神州泰岳软件股份有限公司 | 基于udp的穿越nat设备的方法及系统 |
CN102487546A (zh) * | 2010-12-01 | 2012-06-06 | 中兴通讯股份有限公司 | 一种会话初始化协议终端的注册方法及系统 |
CN102014176A (zh) * | 2010-12-13 | 2011-04-13 | 迈普通信技术股份有限公司 | 基于sip的nat映射保活方法及其系统 |
CN102571749A (zh) * | 2010-12-27 | 2012-07-11 | 三星Sds株式会社 | 使用中继服务器的数据传输系统和方法 |
CN102291402A (zh) * | 2011-08-09 | 2011-12-21 | 中国联合网络通信集团有限公司 | 实现私网穿越的方法、装置及系统 |
Non-Patent Citations (2)
Title |
---|
张国印: "一种UDP穿越NAT的新方案", 《计算机工程》, vol. 34, no. 12, 30 June 2008 (2008-06-30) * |
钟薇: "基于代理转发的NAT穿越方案", 《电信快报》, no. 10, 31 October 2007 (2007-10-31), pages 35 - 37 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104426977A (zh) * | 2013-09-02 | 2015-03-18 | 杭州鹏信科技有限公司 | 一种针对私网用户实现信息主动精准推送的方法 |
CN104426977B (zh) * | 2013-09-02 | 2018-01-09 | 浙江鹏信信息科技股份有限公司 | 一种针对私网用户实现信息主动精准推送的方法 |
WO2014180407A1 (zh) * | 2013-12-06 | 2014-11-13 | 中兴通讯股份有限公司 | 推送方法及装置 |
CN104702484A (zh) * | 2013-12-06 | 2015-06-10 | 中兴通讯股份有限公司 | 推送方法及装置 |
CN104092789B (zh) * | 2014-03-18 | 2017-07-07 | 财团法人交大思源基金会 | 会话感知的网络地址转换穿透方法 |
CN107770034A (zh) * | 2016-08-16 | 2018-03-06 | 中国移动通信有限公司研究院 | 一种消息处理方法及装置 |
CN109462606A (zh) * | 2018-12-19 | 2019-03-12 | 安徽典典科技发展有限责任公司 | 点对点远程访问方法 |
CN111417099A (zh) * | 2020-04-10 | 2020-07-14 | 北京百瑞互联技术有限公司 | 一种防止蓝牙连接断开的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102917082B (zh) | 2016-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102377814B (zh) | 针对嵌入式操作系统的远程协助服务方法 | |
CN102917082B (zh) | 穿透网络地址转换的消息推送方法及系统 | |
CN102946376B (zh) | 一种异步通讯的实现方法 | |
CN105610888A (zh) | 基于安卓的利用socket推送消息的方法和系统 | |
CN101582856B (zh) | 一种门户服务器与宽带接入设备的会话建立方法及其系统 | |
CN102035904A (zh) | 一种将tcp网络通信服务端转换为客户端的方法 | |
CN105407008A (zh) | Tcp连接断线的重连方法及系统、终端及服务器 | |
CN103825881A (zh) | 基于无线访问控制器ac实现wlan用户的重定向方法及装置 | |
EP3809222B1 (en) | Vehicle remote diagnosis method and system | |
WO2013056628A1 (zh) | 实现心跳机制的方法、应用服务器、网络数据库及系统 | |
CN101296223B (zh) | 一种实现防火墙芯片参与syn代理的方法 | |
CN107124483A (zh) | 域名解析方法及服务器 | |
CN112165447A (zh) | 基于waf设备的网络安全监测方法、系统和电子装置 | |
CN107277058A (zh) | 一种基于bfd协议的接口认证方法及系统 | |
JP3999785B2 (ja) | 通信方法 | |
US20050157722A1 (en) | Access user management system and access user management apparatus | |
US9413590B2 (en) | Method for management of a secured transfer session through an address translation device, corresponding server and computer program | |
CN103051724A (zh) | 一种基于长连接的套接字同步方法 | |
CN107786536B (zh) | 一种tcp反向端口穿透方法及其系统 | |
CN101141396B (zh) | 报文处理方法和网络设备 | |
CN101867609A (zh) | 媒体网关代理的方法及装置 | |
CN104009961A (zh) | 一种PPPoE会话标识分配方法及设备 | |
CN104660728A (zh) | 基于智能家居控制系统的nat穿透方法 | |
CN105721274A (zh) | 一种多种即时通讯的融合方法及装置 | |
CN110601989A (zh) | 一种网络流量均衡方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170118 Address after: 266100 Shandong Province, Qingdao city Laoshan District Songling Road No. 399 Patentee after: Poly Polytron Technologies Inc Address before: 266061 Laoshan, Qingdao province Hongkong District No. East Road, room 248, room 131 Patentee before: Hisense Media Networks Co., Ltd. |