CN108124007A - 消息数据实时传输的方法与装置 - Google Patents

消息数据实时传输的方法与装置 Download PDF

Info

Publication number
CN108124007A
CN108124007A CN201711375313.5A CN201711375313A CN108124007A CN 108124007 A CN108124007 A CN 108124007A CN 201711375313 A CN201711375313 A CN 201711375313A CN 108124007 A CN108124007 A CN 108124007A
Authority
CN
China
Prior art keywords
client
websocket
message data
server
message
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
Application number
CN201711375313.5A
Other languages
English (en)
Inventor
智国盛
徐猛
唐建林
杨自玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Communications Technology Co Ltd
Original Assignee
Shenzhen Communications Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Communications Technology Co Ltd filed Critical Shenzhen Communications Technology Co Ltd
Priority to CN201711375313.5A priority Critical patent/CN108124007A/zh
Publication of CN108124007A publication Critical patent/CN108124007A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种消息数据实时传输的方法与装置,方法包括:在接收到客户端发送的websocket连接请求后,与该客户端建立websocket连接,然后监测服务器后台是否有新的消息数据产生,当服务器后台有新的消息数据产生时,则将产生的消息数据利用上述websocket连接发送至该客户端。相较于现有技术而言,本发明实施例中,在服务器与客户端建立websocket连接之后,不需要客户端发送请求消息,服务器即可将产生的消息数据主动发送至客户端,从而使得客户端能够实时接收到服务器中产生的新消息。

Description

消息数据实时传输的方法与装置
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种消息数据实时传输的方法与装置。
背景技术
伴随着科技的进步和互联网的兴起,人们对信息收发的实时性提出了更高的要求,希望在一些社交应用、娱乐应用、购物系统上也能进行实时的通讯交流。
HTTP(Hyper Text Transfer Protocol,超文本传输协议)是客户端与服务器通信的标准协议,它是一种单向的协议。其中,客户端以固定(或可配置)的时间间隔与服务器联系,查询服务器是否存在新消息,而当服务器不存在任何新消息时,这些查询不仅会浪费网络资源,还会减少传输数据可用的带宽;同时,即使服务器存在新消息,但是客户端获得的新消息也并不是实时的。例如,假设客户端每20秒查询一次服务器,则当客户端查询完服务器之后,若服务器产生了新消息,则客户端需要在下一次查询服务器的时候才能获得服务器中的新消息,因此会存在一定的时差。即HTTP场景中的所有通信都必须由客户端发起,至服务器结束,客户端无法实时接收到服务器中产生的新消息。
发明内容
本发明的主要目的在于提供一种消息数据实时传输的方法与装置,可以解决现有技术中客户端无法实时接收到服务器中产生的新消息的技术问题。
为实现上述目的,本发明第一方面提供一种消息数据实时传输的方法,该方法包括:
在接收到客户端发送的websocket连接请求后,与所述客户端建立websocket连接;
监测服务器后台是否有新的消息数据产生;
当所述服务器后台有新的消息数据产生时,则将所述消息数据利用所述websocket连接发送至所述客户端。
可选的,所述在接收到客户端发送的websocket连接请求后,与所述客户端建立websocket连接的步骤包括:
在接收到客户端发送的websocket连接请求后,对所述客户端的身份进行鉴权;
当对所述客户端的身份鉴权通过后,向所述客户端返回建立websocket连接的响应消息,并与所述客户端建立websocket连接。
可选的,所述将所述消息数据利用所述websocket连接发送至所述客户端的步骤之前还包括:
检测所述websocket连接是否处于断开状态;
若所述websocket连接处于断开状态,则向所述客户端发送重新建立所述websocket连接的请求消息;
在检测到所述websocket连接重新建立之后,继续执行所述将所述消息数据利用所述websocket连接发送至所述客户端的步骤。
可选的,所述当所述服务器后台有新的消息数据产生时,则将所述消息数据利用所述websocket连接发送至所述客户端的步骤包括:
当所述服务器后台有新的消息数据产生时,则判断所述消息数据的类型是否属于预设的目标消息类型;
若所述消息数据的类型属于所述目标消息类型,则将所述消息数据利用所述websocket连接发送至所述客户端。
可选的,所述将所述消息数据利用所述websocket连接发送至所述客户端的步骤之后还包括:
当接收到所述客户端通过Ajax发送的数据传输请求时,解析所述数据传输请求,生成与所述数据传输请求对应的Ajax页面;
将所述Ajax页面发送至所述客户端。
为实现上述目的,本发明第二方面提供一种消息数据实时传输的装置,该装置包括:
连接模块,用于在接收到客户端发送的websocket连接请求后,与所述客户端建立websocket连接;
监测模块,用于监测服务器后台是否有新的消息数据产生;
发送模块,用于当所述服务器后台有新的消息数据产生时,则将所述消息数据利用所述websocket连接发送至所述客户端。
可选的,所述连接模块包括:
鉴权模块,用于在接收到客户端发送的websocket连接请求后,对所述客户端的身份进行鉴权;
响应模块,用于当对所述客户端的身份鉴权通过后,向所述客户端返回建立websocket连接的响应消息,并与所述客户端建立websocket连接。
可选的,所述装置还包括:
第一检测模块,用于在将所述消息数据利用所述websocket连接发送至所述客户端之前,检测所述websocket连接是否处于断开状态;
重建模块,用于若所述websocket连接处于断开状态,则向所述客户端发送重新建立所述websocket连接的请求消息;
第二检测模块,用于在检测到所述websocket连接重新建立之后,继续执行所述发送模块。
可选的,所述发送模块包括:
判断模块,用于当所述服务器后台有新的消息数据产生时,则判断所述消息数据的类型是否属于预设的目标消息类型;
确认发送模块,用于若所述消息数据的类型属于所述目标消息类型,则将所述消息数据利用所述websocket连接发送至所述客户端。
可选的,所述装置还包括:
解析模块,用于当接收到所述客户端通过Ajax发送的数据传输请求时,解析所述数据传输请求,生成与所述数据传输请求对应的Ajax页面;
页面发送模块,用于将所述Ajax页面发送至所述客户端。
本发明实施例提供一种消息数据实时传输的方法,该方法包括:在接收到客户端发送的websocket连接请求后,与该客户端建立websocket连接,然后监测服务器后台是否有新的消息数据产生,当服务器后台有新的消息数据产生时,则将产生的消息数据利用上述websocket连接发送至该客户端。相较于现有技术而言,本发明实施例中,在服务器与客户端建立websocket连接之后,不需要客户端发送请求消息,服务器即可将产生的消息数据主动发送至客户端,从而使得客户端能够实时接收到服务器中产生的新消息。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例中消息数据实时传输的方法的步骤流程示意图;
图2为本发明第一实施例中步骤101的细化步骤流程示意图;
图3为本发明第二实施例中消息数据实时传输的方法的步骤流程示意图;
图4为本发明第三实施例中消息数据实时传输的方法的步骤流程示意图;
图5为本发明第四实施例中消息数据实时传输的装置的程序模块示意图;
图6为本发明第四实施例中连接模块501的细化程序模块示意图;
图7为本发明第五实施例中消息数据实时传输的装置的程序模块示意图;
图8为本发明第六实施例中消息数据实时传输的装置的程序模块示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有技术中,存在客户端无法实时接收到服务器中产生的新消息的技术问题,导致客户端与服务器之间难以实现实时的交互。
为了解决上述技术问题,本发明提出一种消息数据实时传输的方法,该方法使服务器与客户端建立websocket连接之后,不需要客户端发送请求消息,服务器即可将产生的消息数据主动发送至客户端,从而使得客户端能够实时接收到服务器中产生的新消息。
请参阅图1,图1为本发明第一实施例中消息数据实时传输的方法的步骤流程示意图,本发明实施例中,上述消息数据实时传输的方法包括:
步骤101、在接收到客户端发送的websocket连接请求后,与所述客户端建立websocket连接;
本发明实施例中,当客户端需要实时接收服务器中生成的消息数据时,则可以向服务器发送websocket连接请求,与上述服务器先建立websocket连接。
其中,上述客户端(或称为用户端)是指与上述服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行。较常用的客户端包括了如万维网使用的网页浏览器,以及即时通讯的客户端软件等。上述客户机可包括移动终端、平板电脑、笔记本电脑、台式电脑、智能电视等网络终端,上述客户端可包括在上述客户机中运行的APP(Application,应用程序)、网页浏览器等。上述服务器包括但不限于单路服务器、多路服务器和分布式服务器。上述客户端可支持HTML5(HyperText Markup Language 5.0,超文本标记语言第五次重大修改)页面。
其中,WebSocket协议是基于TCP(Transmission Control Protocol,传输控制协议)的一种新的网络协议,客户端与服务器建立websocket连接之后,客户端与服务器之间即可实现全双工通信,从而使得服务器能够主动发送信息给客户端。具体的,在使客户端与服务器建立websocket连接之前,分别对上述客户端与服务器进行配置,使上述客户端与服务器均支持WebSocket连接。
步骤102、监测服务器后台是否有新的消息数据产生;
本发明实施例中,在客户端与服务器建立连接之后,则监测服务器后台是否有新的消息数据产生。其中,上述消息数据包括但不限于服务器更新消息数据、其他客户端上传至服务器的消息数据及服务器定期生成的消息数据。
步骤103、当所述服务器后台有新的消息数据产生时,则将所述消息数据利用所述websocket连接发送至所述客户端。
本发明实施例中,当监测到上述服务器后台有新的消息数据产生时,则将产生的消息数据利用上述websocket连接发送至上述客户端。
本发明上述实施例所提供的消息数据实时传输的方法,包括:在接收到客户端发送的websocket连接请求后,与该客户端建立websocket连接,然后监测服务器后台是否有新的消息数据产生,当服务器后台有新的消息数据产生时,则将产生的消息数据利用上述websocket连接发送至该客户端。相较于现有技术而言,本发明实施例在服务器与客户端建立websocket连接之后,不需要客户端发送请求消息,服务器即可将产生的消息数据主动发送至客户端,从而使得客户端能够实时接收到服务器中产生的新消息。
进一步的,基于本发明第一实施例,参照图2,图2为本发明第一实施例中步骤101的细化步骤流程示意图,本发明实施例中,上述步骤101包括以下步骤:
步骤201,在接收到客户端发送的websocket连接请求后,对所述客户端的身份进行鉴权;
本发明实施例中,当客户端与服务器建立TCP连接后,向服务器发送websocket连接请求;服务器在接收到客户端发送的websocket连接请求之后,对客户端的身份进行验证,判断上述客户端是否具有接收服务器中生成的消息数据的权限。
步骤202,当对所述客户端的身份鉴权通过后,向所述客户端返回建立websocket连接的响应消息,并与所述客户端建立websocket连接。
本发明实施例中,服务器在对上述客户端的身份鉴权通过后,即可向客户端返回建立websocket连接的响应消息,客户端在接收到该响应消息之后,即可与服务器建立websocket连接。
本发明实施例所提供的消息数据实时传输的方法中,服务器在接收到客户端发送的websocket连接请求后,对该客户端的身份进行鉴权,在身份鉴权通过后,则向该客户端返回建立websocket连接的响应消息,并与该客户端建立websocket连接,从而可以有效的保护服务器中生成的消息数据。
进一步的,基于本发明第一实施例,参照图3,图3为本发明第二实施例中消息数据实时传输的方法的步骤流程示意图,本发明实施例中,上述消息数据实时传输的方法包括以下步骤:
步骤301、在接收到客户端发送的websocket连接请求后,与所述客户端建立websocket连接;
步骤302、监测服务器后台是否有新的消息数据产生;
本发明实施例中,上述步骤301至步骤302与本发明第一实施例中的步骤101至步骤102所描述的内容一致,请参阅本发明第一实施例,此处不再赘述。
步骤303、当所述服务器后台有新的消息数据产生时,检测所述websocket连接是否处于断开状态;
步骤304、若所述websocket连接处于连接状态,则将所述消息数据利用所述websocket连接发送至所述客户端;
步骤305、若所述websocket连接处于断开状态,则向所述客户端发送重新建立所述websocket连接的请求消息;
本发明实施例中,当服务器后台有新的消息数据产生时,先检测服务器与客户端之间的websocket连接是否处于断开状态,若是,则向客户端发送重新建立websocket连接的请求消息,否则便将上述消息数据利用上述websocket连接发送至客户端。
其中,当客户端在接收到服务器发送的重新建立上述websocket连接的请求消息后,即可向上述服务器发送重新建立websocket连接的请求消息。服务器在接收到客户端发送的重新建立websocket连接的请求消息后,便可与该客户端重新建立websocket连接。
步骤306、在检测到所述websocket连接重新建立之后,则将所述消息数据利用所述websocket连接发送至所述客户端。
本发明实施例中,在服务器向客户端发送重新建立上述websocket连接的请求消息之后,检测服务器与上述客户端之间是否重新建立websocket连接,并在检测到上述websocket连接重新建立之后,将上述消息数据利用重新建立的websocket连接发送至上述客户端。
本发明所提供的消息数据实时传输的方法,服务器在将生成的消息数据发送至客户端之前,先检测与该客户端之间的websocket连接是否处于断开状态,若处于断开状态,则向客户端发送重新建立上述websocket连接的请求消息,然后在检测到上述websocket连接重新建立之后,再将该消息数据发送至上述客户端,从而保证服务器中生成的消息数据能够及时的发送至客户端。
进一步的,基于本发明第一实施例,参照图4,图4为本发明第三实施例中消息数据实时传输的方法的步骤流程示意图,本发明实施例中,上述消息数据实时传输的方法包括以下步骤:
步骤401、在接收到客户端发送的websocket连接请求后,与所述客户端建立websocket连接;
步骤402、监测服务器后台是否有新的消息数据产生;
本发明实施例中,上述步骤401至步骤402与本发明第一实施例中的步骤101至步骤102所描述的内容一致,请参阅本发明第一实施例,此处不再赘述。
步骤403、当所述服务器后台有新的消息数据产生时,则判断所述消息数据的类型是否属于预设的目标消息类型;
本发明实施例中,考虑到客户端并不需要接收服务器中生成的所有消息数据,例如服务器中日常更新的消息数据则没有必要发送至客户端,只有服务器中生成的与客户端密切相关的,或者是客户端已经订阅的消息数据,则有必要发送至客户端。因此,本发明实施例中,当服务器后台有新的消息数据产生时,则判断该消息数据的类型是否属于预设的目标消息类型。
例如,当客户端与服务器建立websocket连接之后,服务器获取该客户端已订阅的推送消息或已关注的推送账号,然后将该推送消息或推送账号所生成的消息数据的类型确定上述目标消息类型。
步骤404、若所述消息数据的类型属于所述目标消息类型,则将所述消息数据利用所述websocket连接发送至所述客户端;
其中,若所述消息数据的类型不属于所述目标消息类型,则忽略所述消息数据。
本发明实施例中,当服务器中生成的消息数据的类型属于上述目标消息类型时,则将该消息数据发送至上述客户端;当服务器中生成的消息数据的类型不属于上述目标消息类型时,则忽略该消息数据。
进一步地,本发明实施例中,在将上述消息数据利用websocket连接发送至上述客户端之后还包括以下步骤:
步骤a:当接收到所述客户端通过Ajax发送的数据传输请求时,解析所述数据传输请求,生成与所述数据传输请求对应的Ajax页面;
步骤b:将所述Ajax页面发送至所述客户端。
本发明实施例中,客户端与服务器建立好websocket连接之后,则可以通过Ajax向服务器发送一条数据传输请求,以获取服务器中指定的内容。其中,服务器在接收到客户端通过Ajax发送的数据传输请求后,解析该数据传输请求,然后生成与该数据传输请求对应的Ajax页面,并发送至上述客户端。
其中,Ajax即“Asynchronous Javascript And XML”(异步JavaScript和XML),是一种用于创建快速动态网页的技术,其可以在无需重新加载整个网页的情况下,获取服务器中的部分更新网页。
本发明所提供的消息数据实时传输的方法,当服务器后台有新的消息数据产生时,则判断该消息数据的类型是否属于预设的目标消息类型;若该消息数据的类型属于上述目标消息类型,则将该消息数据发送至上述客户端,否则忽略该消息数据。即本发明实施例能够对服务器中生成的消息数据进行筛选,只将与客户端相关的消息数据发送至客户端,从而避免客户端频繁接收到服务器发送的与自身无关的消息数据。
为了解决上述技术问题,本发明还提出一种消息数据实时传输的装置,请参阅图5,图5为本发明第四实施例中消息数据实时传输的装置的程序模块示意图,本发明实施例中,上述消息数据实时传输的装置包括:
连接模块501,用于在接收到客户端发送的websocket连接请求后,与所述客户端建立websocket连接;
本发明实施例中,当客户端需要实时接收服务器中生成的消息数据时,则可以向服务器发送websocket连接请求,与上述服务器先建立websocket连接。
其中,上述客户端(或称为用户端)是指与上述服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行。较常用的客户端包括了如万维网使用的网页浏览器,以及即时通讯的客户端软件等。上述客户机可包括移动终端、平板电脑、笔记本电脑、台式电脑、智能电视等网络终端,上述客户端可包括在上述客户机中运行的APP、网页浏览器等。上述服务器包括但不限于单路服务器、多路服务器和分布式服务器。上述客户端可支持HTML5页面。
其中,WebSocket协议是基于TCP的一种新的网络协议,客户端与服务器建立websocket连接之后,客户端与服务器之间即可实现全双工通信,从而使得服务器能够主动发送信息给客户端。具体的,在使客户端与服务器建立websocket连接之前,分别对上述客户端与服务器进行配置,使上述客户端与服务器均支持WebSocket连接。
监测模块502,用于监测服务器后台是否有新的消息数据产生;
本发明实施例中,在客户端与服务器建立连接之后,则监测服务器后台是否有新的消息数据产生。其中,上述消息数据包括但不限于服务器更新消息数据、其他客户端上传至服务器的消息数据及服务器定期生成的消息数据。
发送模块503,用于当所述服务器后台有新的消息数据产生时,则将所述消息数据利用所述websocket连接发送至所述客户端。
本发明实施例中,当监测到上述服务器后台有新的消息数据产生时,则将产生的消息数据利用上述websocket连接发送至上述客户端。
本发明上述实施例所提供的消息数据实时传输的装置,包括:连接模块501,用于在接收到客户端发送的websocket连接请求后,与该客户端建立websocket连接;监测模块502,用于监测服务器后台是否有新的消息数据产生;发送模块503,用于当服务器后台有新的消息数据产生时,则将产生的消息数据利用上述websocket连接发送至该客户端。相较于现有技术而言,本发明实施例在服务器与客户端建立websocket连接之后,不需要客户端发送请求消息,服务器即可将产生的消息数据主动发送至客户端,从而使得客户端能够实时接收到服务器中产生的新消息。
进一步的,基于本发明第四实施例,参照图6,图6为本发明第一实施例中连接模块501的细化程序模块示意图,本发明实施例中,上述连接模块501包括:
鉴权模块601,用于在接收到客户端发送的websocket连接请求后,对所述客户端的身份进行鉴权;
本发明实施例中,当客户端与服务器建立TCP连接后,向服务器发送websocket连接请求;服务器在接收到客户端发送的websocket连接请求之后,对客户端的身份进行验证,判断上述客户端是否具有接收服务器中生成的消息数据的权限。
响应模块602,用于当对所述客户端的身份鉴权通过后,向所述客户端返回建立websocket连接的响应消息,并与所述客户端建立websocket连接。
本发明实施例中,服务器在对上述客户端的身份鉴权通过后,即可向客户端返回建立websocket连接的响应消息,客户端在接收到该响应消息之后,即可与服务器建立websocket连接。
本发明实施例所提供的消息数据实时传输的装置,服务器在接收到客户端发送的websocket连接请求后,对该客户端的身份进行鉴权,在身份鉴权通过后,则向该客户端返回建立websocket连接的响应消息,并与该客户端建立websocket连接,从而可以有效的保护服务器中生成的消息数据。
进一步的,基于本发明第四实施例,参照图7,图7为本发明第五实施例中消息数据实时传输的装置的程序模块示意图,本发明实施例中,上述消息数据实时传输的装置包括:
连接模块501在接收到客户端发送的websocket连接请求后,与所述客户端建立websocket连接;
监测模块502,用于监测服务器后台是否有新的消息数据产生;
第一检测模块701,用于当所述服务器后台有新的消息数据产生时,检测所述websocket连接是否处于断开状态;
重建模块702,用于若所述websocket连接处于断开状态,则向所述客户端发送重新建立所述websocket连接的请求消息;
其中,若所述websocket连接处于连接状态,则将所述消息数据利用所述websocket连接发送至所述客户端;
本发明实施例中,当服务器后台有新的消息数据产生时,先检测服务器与客户端之间的websocket连接是否处于断开状态,若是,则向客户端发送重新建立websocket连接的请求消息,否则便将上述消息数据利用上述websocket连接发送至客户端。
其中,当客户端在接收到服务器发送的重新建立上述websocket连接的请求消息后,即可向上述服务器发送重新建立websocket连接的请求消息。服务器在接收到客户端发送的重新建立websocket连接的请求消息后,便可与该客户端重新建立websocket连接。
第二检测模块703,用于在检测到所述websocket连接重新建立之后,则执行发送模块503。
发送模块503,用于当所述服务器后台有新的消息数据产生时,则将所述消息数据利用所述websocket连接发送至所述客户端。
本发明实施例中,在服务器向客户端发送重新建立上述websocket连接的请求消息之后,检测服务器与上述客户端之间是否重新建立websocket连接,并在检测到上述websocket连接重新建立之后,将上述消息数据利用重新建立的websocket连接发送至上述客户端。
本发明实施例所提供的消息数据实时传输的装置,服务器在将生成的消息数据发送至客户端之前,先检测与该客户端之间的websocket连接是否处于断开状态,若处于断开状态,则向客户端发送重新建立上述websocket连接的请求消息,然后在检测到上述websocket连接重新建立之后,再将该消息数据发送至上述客户端,从而保证服务器中生成的消息数据能够及时的发送至客户端。
进一步的,基于本发明第一实施例,参照图8,图8为本发明第六实施例中消息数据实时传输的装置的程序模块示意图,本发明实施例中,上述消息数据实时传输的装置包括:
连接模块501,用于在接收到客户端发送的websocket连接请求后,与所述客户端建立websocket连接;
监测模块502,用于监测服务器后台是否有新的消息数据产生;
发送模块503,用于当所述服务器后台有新的消息数据产生时,则将所述消息数据利用所述websocket连接发送至所述客户端。
具体的,上述发送模块503包括:
判断模块801,用于当所述服务器后台有新的消息数据产生时,则判断所述消息数据的类型是否属于预设的目标消息类型;
本发明实施例中,考虑到客户端并不需要接收服务器中生成的所有消息数据,例如服务器中日常更新的消息数据则没有必要发送至客户端,只有服务器中生成的与客户端密切相关的,或者是客户端已经订阅的消息数据,则有必要发送至客户端。因此,本发明实施例中,当服务器后台有新的消息数据产生时,则判断该消息数据的类型是否属于预设的目标消息类型。
例如,当客户端与服务器建立websocket连接之后,服务器获取该客户端已订阅的推送消息或已关注的推送账号,然后将该推送消息或推送账号所生成的消息数据的类型确定上述目标消息类型。
确认发送模块802,用于若所述消息数据的类型属于所述目标消息类型,则将所述消息数据利用所述websocket连接发送至所述客户端;
其中,若所述消息数据的类型不属于所述目标消息类型,则忽略所述消息数据。
本发明实施例中,当服务器中生成的消息数据的类型属于上述目标消息类型时,则将该消息数据发送至上述客户端;当服务器中生成的消息数据的类型不属于上述目标消息类型时,则忽略该消息数据。
进一步地,本发明实施例中,上述装置还包括:
解析模块,用于当接收到所述客户端通过Ajax发送的数据传输请求时,解析所述数据传输请求,生成与所述数据传输请求对应的Ajax页面;
Ajax页面发送模块,用于将所述Ajax页面发送至所述客户端。
本发明实施例中,客户端与服务器建立好websocket连接之后,则可以通过Ajax向服务器发送一条数据传输请求,以获取服务器中指定的内容。其中,服务器在接收到客户端通过Ajax发送的数据传输请求后,解析该数据传输请求,然后生成与该数据传输请求对应的Ajax页面,并发送至上述客户端。
其中,Ajax是一种用于创建快速动态网页的技术,其可以在无需重新加载整个网页的情况下,获取服务器中的部分更新网页。
本发明实施例所提供的消息数据实时传输的装置,当服务器后台有新的消息数据产生时,则判断该消息数据的类型是否属于预设的目标消息类型;若该消息数据的类型属于上述目标消息类型,则将该消息数据发送至上述客户端,否则忽略该消息数据。即本发明实施例能够对服务器中生成的消息数据进行筛选,只将与客户端相关的消息数据发送至客户端,从而避免客户端频繁接收到服务器发送的与自身无关的消息数据。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种消息数据实时传输的方法与装置的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种消息数据实时传输的方法,其特征在于,所述方法包括:
在接收到客户端发送的websocket连接请求后,与所述客户端建立websocket连接;
监测服务器后台是否有新的消息数据产生;
当所述服务器后台有新的消息数据产生时,则将所述消息数据利用所述websocket连接发送至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述在接收到客户端发送的websocket连接请求后,与所述客户端建立websocket连接的步骤包括:
在接收到客户端发送的websocket连接请求后,对所述客户端的身份进行鉴权;
当对所述客户端的身份鉴权通过后,向所述客户端返回建立websocket连接的响应消息,并与所述客户端建立websocket连接。
3.根据权利要求1所述的方法,其特征在于,所述将所述消息数据利用所述websocket连接发送至所述客户端的步骤之前还包括:
检测所述websocket连接是否处于断开状态;
若所述websocket连接处于断开状态,则向所述客户端发送重新建立所述websocket连接的请求消息;
在检测到所述websocket连接重新建立之后,继续执行所述将所述消息数据利用所述websocket连接发送至所述客户端的步骤。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述当所述服务器后台有新的消息数据产生时,则将所述消息数据利用所述websocket连接发送至所述客户端的步骤包括:
当所述服务器后台有新的消息数据产生时,则判断所述消息数据的类型是否属于预设的目标消息类型;
若所述消息数据的类型属于所述目标消息类型,则将所述消息数据利用所述websocket连接发送至所述客户端。
5.根据权利要求4所述的方法,其特征在于,所述将所述消息数据利用所述websocket连接发送至所述客户端的步骤之后还包括:
当接收到所述客户端通过Ajax发送的数据传输请求时,解析所述数据传输请求,生成与所述数据传输请求对应的Ajax页面;
将所述Ajax页面发送至所述客户端。
6.一种消息数据实时传输的装置,其特征在于,所述装置包括:
连接模块,用于在接收到客户端发送的websocket连接请求后,与所述客户端建立websocket连接;
监测模块,用于监测服务器后台是否有新的消息数据产生;
发送模块,用于当所述服务器后台有新的消息数据产生时,则将所述消息数据利用所述websocket连接发送至所述客户端。
7.根据权利要求6所述的装置,其特征在于,所述连接模块包括:
鉴权模块,用于在接收到客户端发送的websocket连接请求后,对所述客户端的身份进行鉴权;
响应模块,用于当对所述客户端的身份鉴权通过后,向所述客户端返回建立websocket连接的响应消息,并与所述客户端建立websocket连接。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一检测模块,用于在将所述消息数据利用所述websocket连接发送至所述客户端之前,检测所述websocket连接是否处于断开状态;
重建模块,用于若所述websocket连接处于断开状态,则向所述客户端发送重新建立所述websocket连接的请求消息;
第二检测模块,用于在检测到所述websocket连接重新建立之后,继续执行所述发送模块。
9.根据权利要求6至8任意一项所述的装置,其特征在于,所述发送模块包括:
判断模块,用于当所述服务器后台有新的消息数据产生时,则判断所述消息数据的类型是否属于预设的目标消息类型;
确认发送模块,用于若所述消息数据的类型属于所述目标消息类型,则将所述消息数据利用所述websocket连接发送至所述客户端。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
解析模块,用于当接收到所述客户端通过Ajax发送的数据传输请求时,解析所述数据传输请求,生成与所述数据传输请求对应的Ajax页面;
页面发送模块,用于将所述Ajax页面发送至所述客户端。
CN201711375313.5A 2017-12-19 2017-12-19 消息数据实时传输的方法与装置 Pending CN108124007A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711375313.5A CN108124007A (zh) 2017-12-19 2017-12-19 消息数据实时传输的方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711375313.5A CN108124007A (zh) 2017-12-19 2017-12-19 消息数据实时传输的方法与装置

Publications (1)

Publication Number Publication Date
CN108124007A true CN108124007A (zh) 2018-06-05

Family

ID=62229432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711375313.5A Pending CN108124007A (zh) 2017-12-19 2017-12-19 消息数据实时传输的方法与装置

Country Status (1)

Country Link
CN (1) CN108124007A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325556A (zh) * 2018-09-06 2019-02-12 北京华城建设监理有限责任公司 一种基于二维码技术的施工信息管理方法
CN109462544A (zh) * 2018-11-16 2019-03-12 贵阳朗玛信息技术股份有限公司 即时通讯的方法及装置、即时通讯系统、可读存储介质
CN111381981A (zh) * 2020-03-04 2020-07-07 上海东普信息科技有限公司 小程序消息的推送方法、装置、设备及存储介质
CN112099461A (zh) * 2020-11-06 2020-12-18 基点生物科技(成都)有限公司 一种基于样本库系统的自动化设备远程控制方法
CN113055499A (zh) * 2021-05-31 2021-06-29 云和恩墨(北京)信息技术有限公司 数据的传输方法及系统
CN114338773A (zh) * 2021-12-31 2022-04-12 北京明朝万达科技股份有限公司 基于双向通信连接的数据更新方法、系统及装置
CN115766840A (zh) * 2022-10-27 2023-03-07 浩云科技股份有限公司 一种基于单websocket链接通道的业务数据传输方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546794A (zh) * 2011-12-30 2012-07-04 华为技术有限公司 浏览器客户端与后端服务器直通的方法、网关和通信系统
CN103546584A (zh) * 2013-11-13 2014-01-29 深圳市中兴移动通信有限公司 信息推送方法和系统
CN104796473A (zh) * 2015-04-21 2015-07-22 努比亚技术有限公司 一种跨平台的信息推送方法及系统
CN106850745A (zh) * 2016-12-23 2017-06-13 北京五八信息技术有限公司 一种实时同步方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546794A (zh) * 2011-12-30 2012-07-04 华为技术有限公司 浏览器客户端与后端服务器直通的方法、网关和通信系统
CN103546584A (zh) * 2013-11-13 2014-01-29 深圳市中兴移动通信有限公司 信息推送方法和系统
CN104796473A (zh) * 2015-04-21 2015-07-22 努比亚技术有限公司 一种跨平台的信息推送方法及系统
CN106850745A (zh) * 2016-12-23 2017-06-13 北京五八信息技术有限公司 一种实时同步方法和装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325556A (zh) * 2018-09-06 2019-02-12 北京华城建设监理有限责任公司 一种基于二维码技术的施工信息管理方法
CN109462544A (zh) * 2018-11-16 2019-03-12 贵阳朗玛信息技术股份有限公司 即时通讯的方法及装置、即时通讯系统、可读存储介质
CN111381981A (zh) * 2020-03-04 2020-07-07 上海东普信息科技有限公司 小程序消息的推送方法、装置、设备及存储介质
CN111381981B (zh) * 2020-03-04 2023-07-11 上海东普信息科技有限公司 小程序消息的推送方法、装置、设备及存储介质
CN112099461A (zh) * 2020-11-06 2020-12-18 基点生物科技(成都)有限公司 一种基于样本库系统的自动化设备远程控制方法
CN113055499A (zh) * 2021-05-31 2021-06-29 云和恩墨(北京)信息技术有限公司 数据的传输方法及系统
CN113055499B (zh) * 2021-05-31 2021-08-31 云和恩墨(北京)信息技术有限公司 数据的传输方法及系统
CN114338773A (zh) * 2021-12-31 2022-04-12 北京明朝万达科技股份有限公司 基于双向通信连接的数据更新方法、系统及装置
CN114338773B (zh) * 2021-12-31 2024-03-19 北京明朝万达科技股份有限公司 基于双向通信连接的数据更新方法、系统及装置
CN115766840A (zh) * 2022-10-27 2023-03-07 浩云科技股份有限公司 一种基于单websocket链接通道的业务数据传输方法及装置

Similar Documents

Publication Publication Date Title
CN108124007A (zh) 消息数据实时传输的方法与装置
US10834031B2 (en) Information exchange method, client, and apparatus
CN105530175B (zh) 一种消息处理方法、装置及系统
CN103065178B (zh) 一种二维码分享装置、访问装置和分享方法
CN104335523B (zh) 一种权限控制方法、客户端及服务器
CN102655481B (zh) 一种基于网页的即时通信聊天内容查看方法及系统
CN105528728A (zh) 一种基于云计算的商城电商服务平台及其方法
CN103124263A (zh) 一种广告推送系统及广告推送设备、广告服务器
CN105847988A (zh) 视频分享方法和装置
CN104753911A (zh) 一种基于社交应用的信息处理方法、相关装置及系统
CN104462237B (zh) 显示公众消息的方法及装置
CN104253741A (zh) 一种信息发送方法、相关装置及系统
CN114024972B (zh) 一种长连接通信方法、系统、装置、设备及存储介质
EP3128713B1 (en) Page push method and system
CN108023922A (zh) 一种下发及设置配置数据的方法、装置及系统
CN103457802A (zh) 一种信息传输系统及方法
CN104142975A (zh) 一种基于微博消息的推广方法、装置及系统
CN105337841A (zh) 一种信息处理方法和系统、客户端和服务器
CN107911466A (zh) 一种多层架构下应用关联方法
CN105978938A (zh) 一种业务处理设备的业务状态确定方法及调度设备
CN104717131A (zh) 信息交互方法及服务器
CN107357810B (zh) 一种用于输出专题落地页的方法及系统
CN109962837A (zh) 消息处理方法、装置、存储介质和电子装置
CN102891851A (zh) 虚拟桌面访问控制方法、设备及系统
CN105530232A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180605

RJ01 Rejection of invention patent application after publication