CN102413191A - 一种基于浏览器的web即时通讯方法 - Google Patents

一种基于浏览器的web即时通讯方法 Download PDF

Info

Publication number
CN102413191A
CN102413191A CN2011104542015A CN201110454201A CN102413191A CN 102413191 A CN102413191 A CN 102413191A CN 2011104542015 A CN2011104542015 A CN 2011104542015A CN 201110454201 A CN201110454201 A CN 201110454201A CN 102413191 A CN102413191 A CN 102413191A
Authority
CN
China
Prior art keywords
server
browser
thread
browser client
communication method
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
Application number
CN2011104542015A
Other languages
English (en)
Other versions
CN102413191B (zh
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.)
Guangdong Winbond cloud Limited by Share Ltd
Original Assignee
SHENZHEN QIHAN SOFTWARE 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 QIHAN SOFTWARE CO LTD filed Critical SHENZHEN QIHAN SOFTWARE CO LTD
Priority to CN201110454201.5A priority Critical patent/CN102413191B/zh
Publication of CN102413191A publication Critical patent/CN102413191A/zh
Application granted granted Critical
Publication of CN102413191B publication Critical patent/CN102413191B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种基于浏览器的web即时通讯方法,包括以下步骤:用户登录浏览器客户端,向服务器发起http请求,服务器从线程池获取线程处理浏览器客户端发起的http连接,判断其缓冲区是否有新信息,如果有,则服务器将新信息发送给浏览器客户端;如果没有,则服务器使用NIO技术挂起连接,并释放线程到线程池;服务器判断连接是否超时,如果超时,则从线程池获取一个线程发送一个心跳信号给浏览器客户端,重新建立连接;否则服务器判断是否有新信息,如果是,则服务器将新信息发送给浏览器客户端,否则继续监控。本发明实现了浏览器客户端实时获取信息,且在连接空闲时挂起连接,减轻了服务器不必要的负担,提高服务器的性能。

Description

一种基于浏览器的web即时通讯方法
技术领域
本发明涉及计算机网络通信技术领域,更具体地说,涉及一种基于浏览器的web即时通讯方法。
背景技术
近年来,以浏览器为终端的实时通信系统,以其使用方便、简洁、不受限制等特点,已经被广大用户所接受,但是由于浏览器本身的特点,使其即时信息、状态、消息通知等方面不能实时与用户同步。可见解决浏览器终端与服务器信息的实时同步,是提高用户对浏览器终端产品的体验的衡量指标之一。
Web即时通讯由于浏览器本身的原因,浏览器只能通过发送http链接获得返回内容。由于浏览器本身就是这种“拉”的方式来实现跟后台的交互,所以要基于浏览器要实现web即时通讯,现有普遍的做法(如图1)都是使用“拉”的方式获得服务器的信息,需要不停地发起链接到服务器查看是否有信息。采用此方法需要浏览器定时地发起请求,如果定时时间过长,则信息不能实时地提供给浏览器客户端,如果定时时间过短,则浏览器会频繁地发起请求,对服务器产生很大的压力,并且很多请求都是空请求,因为可能在此时间用户并没有变化的信息,这样将导致服务器的负担会很大,有时候为了实现即时拿到一个信息会发送成千上万的无用链接。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述浏览器采用“拉”的方式通过不停的发送连接到服务器建立连接,导致服务器负担大的缺陷,提供一种基于浏览器的web即时通讯方法。
本发明解决其技术问题所采用的技术方案是:构造一种基于浏览器的web即时通讯方法,包括以下步骤:
S1、用户登录浏览器客户端;
S2、浏览器客户端向服务器发起http请求;
S3、服务器从线程池获取线程处理浏览器客户端发起的http连接,服务器判断其缓冲区是否有新信息,如果有,则执行步骤S7;如果没有,则执行步骤S4;
S4、服务器使用NIO技术挂起连接,并释放线程到线程池;
S5、服务器判断连接是否超时,所述超时是指超过预设连接时间;如果超时,则从线程池获取一个线程发送一个心跳信号给浏览器客户端,返回步骤S2;否则执行步骤S6;
S6、服务器判断是否有新信息,如果是,则执行步骤S7,否则继续监控;
S7、服务器从线程池获取线程,将新信息发送给浏览器客户端,浏览器客户端处理接收到的新信息,处理完成后返回步骤S2。
在本发明的基于浏览器的web即时通讯方法中,所述步骤S5进一步包括,浏览器客户端收到心跳信号后,不做任何处理直接返回步骤S2。
在本发明的基于浏览器的web即时通讯方法中,在建立http连接时,以异步的方式实现接入服务。
在本发明的基于浏览器的web即时通讯方法中,所述新信息是由即时通信系统提供。
在本发明的基于浏览器的web即时通讯方法中,所述新信息包括所述即时通信系统的系统即时消息、联系人变化信息和系统通知中的一种或者多种。
在本发明的基于浏览器的web即时通讯方法中,所述预设连接时间是10分钟。
实施本发明的基于浏览器的web即时通讯方法,具有以下有益效果:浏览器客户端向服务器发起http请求后,在建立连接后在预设连接时间等待数据,在没有新信息的时候采用NIO技术挂起连接,并释放线程到线程池,这样线程就可以处理其它连接,大幅度减轻了服务器不必要的负担,提高服务器端的性能,减少服务器的压力。服务器在检测到有新信息时即时将新信息推到浏览器客户端,极大减少了浏览器客户端发送到服务器的没用连接,大大减轻了服务器的压力。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是现有的基于浏览器的web即时通讯方法流程图;
图2是本发明的基于浏览器的web即时通讯方法流程图。
具体实施方式
为了使本发明的目的更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明的基于浏览器的web即时通讯方法流程图,包含以下步骤:
S1、用户登录浏览器客户端;
S2、浏览器客户端向服务器发起http请求;
S3、服务器从线程池获取线程处理浏览器客户端发起的http连接,服务器判断其缓冲区是否有新信息,如果有,则执行步骤S7;如果没有,则执行步骤S4;
S4、服务器使用NIO技术挂起连接,并释放线程到线程池;
S5、服务器判断连接是否超时,超时是指超过预设连接时间;如果超时,则从线程池获取一个线程发送一个心跳信号给浏览器客户端,返回步骤S2;否则执行步骤S6;
S6、服务器判断是否有新信息,如果是,则执行步骤S7,否则继续监控;
S7、服务器从线程池获取线程,将新信息发送给浏览器客户端,浏览器客户端处理接收到的新信息,处理完成后返回步骤S2。
进一步的,在步骤S5中,浏览器客户端收到心跳信号后,不做任何处理直接返回步骤S2。
在建立http连接时,浏览器客户端以异步的方式实现接入服务。在本实施例中,浏览器客户端使用ajax技术,发起连接到服务器。ajax是主流浏览器都支持的与服务器通讯的技术,所以使用ajax可以兼容目前的主流浏览器。同时无须安装任何插件。
服务器收到的新信息是由即时通信系统提供,该新信息包括通信系统的系统即时消息、联系人变化信息和系统通知中的一种或者多种。
在本实施例中,预设连接时间是10分钟,按照实际需要,也可以设置为其它时间。
在本实施例中,在服务器端采用“非阻塞”技术,即使用NIO技术挂起http连接,当连接空闲了就挂起连接释放处理的线程,这样线程就可以处理其他的连接,大幅度减轻了服务器不必要的负担,提高的服务器端的性能。基于“非阻塞”技术实现http长连接,大幅度减少连接数,同时提高服务器端性能,实现即时通讯同时大幅度减少服务器压力。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于浏览器的web即时通讯方法,其特征在于,包括以下步骤:
S1、用户登录浏览器客户端;
S2、浏览器客户端向服务器发起http请求;
S3、服务器从线程池获取线程处理浏览器客户端发起的http连接,服务器判断其缓冲区是否有新信息,如果有,则执行步骤S7;如果没有,则执行步骤S4;
S4、服务器使用NIO技术挂起连接,并释放线程到线程池;
S5、服务器判断连接是否超时,所述超时是指超过预设连接时间;如果超时,则从线程池获取一个线程发送一个心跳信号给浏览器客户端,返回步骤S2;否则执行步骤S6;
S6、服务器判断是否有新信息,如果是,则执行步骤S7,否则继续监控;
S7、服务器从线程池获取线程,将新信息发送给浏览器客户端,浏览器客户端处理接收到的新信息,处理完成后返回步骤S2。
2.根据权利要求1所述的基于浏览器的web即时通讯方法,其特征在于,所述步骤S5进一步包括,浏览器客户端收到心跳信号后,不做任何处理直接返回步骤S2。
3.根据权利要求1所述的基于浏览器的web即时通讯方法,其特征在于,在建立http连接时,以异步的方式实现接入服务。
4.根据权利要求1所述的基于浏览器的web即时通讯方法,其特征在于,所述新信息是由即时通信系统提供。
5.根据权利要求4所述的基于浏览器的web即时通讯方法,其特征在于,所述新信息包括所述即时通信系统的系统即时消息、联系人变化信息和系统通知中的一种或者多种。
6.根据权利要求1所述的基于浏览器的web即时通讯方法,其特征在在于,所述预设连接时间是10分钟。
CN201110454201.5A 2011-12-30 2011-12-30 一种基于浏览器的web即时通讯方法 Expired - Fee Related CN102413191B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110454201.5A CN102413191B (zh) 2011-12-30 2011-12-30 一种基于浏览器的web即时通讯方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110454201.5A CN102413191B (zh) 2011-12-30 2011-12-30 一种基于浏览器的web即时通讯方法

Publications (2)

Publication Number Publication Date
CN102413191A true CN102413191A (zh) 2012-04-11
CN102413191B CN102413191B (zh) 2014-09-24

Family

ID=45915034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110454201.5A Expired - Fee Related CN102413191B (zh) 2011-12-30 2011-12-30 一种基于浏览器的web即时通讯方法

Country Status (1)

Country Link
CN (1) CN102413191B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103197968A (zh) * 2013-03-18 2013-07-10 焦点科技股份有限公司 一种融合同步异步特点的线程池处理方法及系统
CN103873590A (zh) * 2014-04-01 2014-06-18 北京奇虎科技有限公司 一种网页im的接入方法和网页浏览器
CN105515936A (zh) * 2014-09-23 2016-04-20 中国电信股份有限公司 消息通信的方法、服务器和系统
CN108123868A (zh) * 2017-12-20 2018-06-05 家园网络科技有限公司 通信系统、方法、装置及服务终端
CN111429699A (zh) * 2020-04-23 2020-07-17 四川省有线广播电视网络股份有限公司 广电中间件机顶盒低延时地震预警系统及方法
CN115225696A (zh) * 2022-07-08 2022-10-21 北京天融信网络安全技术有限公司 远程数据交互方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335595A (zh) * 2008-07-25 2008-12-31 中兴通讯股份有限公司 下行数据接收过程中自动调节接收性能的方法及移动终端
CN101714991A (zh) * 2009-10-30 2010-05-26 清华大学 心跳机制的实现方法
CN101888349A (zh) * 2009-05-13 2010-11-17 上海即略网络信息科技有限公司 一种msn与xmpp互通网关
CN101964810A (zh) * 2010-08-25 2011-02-02 北京神州泰岳软件股份有限公司 基于浏览器的实时信息同步方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335595A (zh) * 2008-07-25 2008-12-31 中兴通讯股份有限公司 下行数据接收过程中自动调节接收性能的方法及移动终端
CN101888349A (zh) * 2009-05-13 2010-11-17 上海即略网络信息科技有限公司 一种msn与xmpp互通网关
CN101714991A (zh) * 2009-10-30 2010-05-26 清华大学 心跳机制的实现方法
CN101964810A (zh) * 2010-08-25 2011-02-02 北京神州泰岳软件股份有限公司 基于浏览器的实时信息同步方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103197968A (zh) * 2013-03-18 2013-07-10 焦点科技股份有限公司 一种融合同步异步特点的线程池处理方法及系统
CN103873590A (zh) * 2014-04-01 2014-06-18 北京奇虎科技有限公司 一种网页im的接入方法和网页浏览器
CN103873590B (zh) * 2014-04-01 2017-04-26 北京奇立软件技术有限公司 一种网页im的接入方法和网页浏览器
CN105515936A (zh) * 2014-09-23 2016-04-20 中国电信股份有限公司 消息通信的方法、服务器和系统
CN108123868A (zh) * 2017-12-20 2018-06-05 家园网络科技有限公司 通信系统、方法、装置及服务终端
CN111429699A (zh) * 2020-04-23 2020-07-17 四川省有线广播电视网络股份有限公司 广电中间件机顶盒低延时地震预警系统及方法
CN115225696A (zh) * 2022-07-08 2022-10-21 北京天融信网络安全技术有限公司 远程数据交互方法及装置

Also Published As

Publication number Publication date
CN102413191B (zh) 2014-09-24

Similar Documents

Publication Publication Date Title
CN102413191A (zh) 一种基于浏览器的web即时通讯方法
CN103019866A (zh) 基于消息队列的分布式方法和系统
CN102111419B (zh) 一种基于消息中间件的客户端自动重连方法
CN101964810A (zh) 基于浏览器的实时信息同步方法
CN102223381A (zh) 一种消息推送方法、服务器、客户端及系统
WO2013078869A1 (zh) 一种aos中保持长连接的方法、系统、aoe、aog及终端
US20110086649A1 (en) Methodology for Traffic Control Based on Cross-Carriers Short Message (SMS) Application
CN103209392A (zh) 一种跨进程多应用消息推送方法及装置
CN101299689B (zh) 一种在线检测的方法及邮件服务器
CN107688512A (zh) 一种优化虚拟机数据备份方法和系统
CN1787492A (zh) 一种移动即时通信方法及其服务器和客户端的连接方式
CN101980482B (zh) 一种网络连接监控方法及其系统
CN107526657A (zh) 一种数据库联机备份方法及系统
CN201985898U (zh) 通讯服务负载平衡系统
CN102882708A (zh) 运维审计方法、装置及系统
CN103312558A (zh) 计算机客户服务器系统中网络连接有效性监测方法及系统
CN101977396B (zh) 多媒体消息业务中实现网元业务切换的系统及方法
CN101800677B (zh) 一种双向转发检测报文的处理装置及方法
CN102457494B (zh) 一种基于sip信令提高监听成功率的方法和装置
CN103684897A (zh) 在客户端中检测网络连通性的方法、系统和装置
CN108306815A (zh) 一种获取消息的方法、装置、设备及计算机可读存储介质
CN112839106A (zh) 通信方法及装置、电子设备及介质
CN110865895B (zh) 访问流量控制方法、装置、电子设备及存储介质
CN105471701A (zh) 设置消息超时时长的方法和代理系统
CN104573443A (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
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 20 building, Times Technology Building, 7028 Shennan Avenue, Futian District, Guangdong, Shenzhen 518040, China

Applicant after: Shenzhen Huabang Technology Co. Ltd.

Address before: 20 building, Times Technology Building, 7028 Shennan Avenue, Futian District, Guangdong, Shenzhen 518040, China

Applicant before: Shenzhen Qihan Software Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SHENZHEN QIHAN SOFTWARE CO., LTD. TO: SHENZHEN HUABANG TECHNOLOGY CO., LTD.

C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 20 building, Times Technology Building, 7028 Shennan Avenue, Futian District, Guangdong, Shenzhen 518040, China

Applicant after: Guangdong Huabang Technology Software Co., Ltd.

Address before: 20 building, Times Technology Building, 7028 Shennan Avenue, Futian District, Guangdong, Shenzhen 518040, China

Applicant before: Shenzhen Huabang Technology Co. Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SHENZHEN HUABANG TECHNOLOGY CO., LTD. TO: GUANGDONG HUABANG TECHNOLOGY SOFTWARE CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: GUANGDONG WINBOND TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: GUANGDONG HUABANG TECHNOLOGY SOFTWARE CO., LTD.

CP03 Change of name, title or address

Address after: 2, 518000, building 210, Guanghui Road, Longhua office, Longhua New District, Shenzhen, Guangdong

Patentee after: Guangdong Winbond technology Limited by Share Ltd

Address before: 20 building, Times Technology Building, 7028 Shennan Avenue, Futian District, Guangdong, Shenzhen 518040, China

Patentee before: Guangdong Huabang Technology Software Co., Ltd.

C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 518000, Guangdong province Shenzhen Longhua New District Longhua office, min Qing Road, Guanghui science and technology building, 2 floor

Patentee after: Guangdong Winbond cloud Limited by Share Ltd

Address before: 2, 518000, building 210, Guanghui Road, Longhua office, Longhua New District, Shenzhen, Guangdong

Patentee before: Guangdong Winbond technology Limited by Share Ltd

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140924

Termination date: 20191230

CF01 Termination of patent right due to non-payment of annual fee