CN103685269A - 一种web浏览器与服务器进行双向通讯的方法和系统 - Google Patents

一种web浏览器与服务器进行双向通讯的方法和系统 Download PDF

Info

Publication number
CN103685269A
CN103685269A CN201310673215.5A CN201310673215A CN103685269A CN 103685269 A CN103685269 A CN 103685269A CN 201310673215 A CN201310673215 A CN 201310673215A CN 103685269 A CN103685269 A CN 103685269A
Authority
CN
China
Prior art keywords
web browser
server
carry out
communication
way communication
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
CN201310673215.5A
Other languages
English (en)
Other versions
CN103685269B (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.)
TCL Corp
Original Assignee
TCL Corp
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 TCL Corp filed Critical TCL Corp
Priority to CN201310673215.5A priority Critical patent/CN103685269B/zh
Publication of CN103685269A publication Critical patent/CN103685269A/zh
Application granted granted Critical
Publication of CN103685269B publication Critical patent/CN103685269B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开一种web浏览器与服务器进行双向通讯的方法和系统,其中,方法包括步骤:A、调用通用API,进行初始化;B、对当前运行环境进行识别,判断web浏览器是否支持html5,当是时使用Websocket通讯方式与服务器进行双向通讯。本发明通过对当前运行环境进行识别,判断web浏览器是否支持html5、Flash插件、iframe,进而智能选择使用Websocket通讯方式、Flashsocket通讯方式、iframe长连接通讯方式或者Ajax长轮询通讯方式,从而使本发明的通讯方法可以兼容市面上各种web浏览器。

Description

一种web浏览器与服务器进行双向通讯的方法和系统
技术领域
本发明涉及计算机软件领域,尤其涉及一种web浏览器与服务器进行双向通讯的方法和系统。
背景技术
web浏览器具有检索查询、文件服务、热表管理机离线浏览等等功能,而服务器则具有静态信息分布和动态信息分布等功能,web浏览器与服务器之间的双向通讯方式有多种,例如长轮询、长连接、Flashsocket及Websocket等通讯方式,但由于客户端web浏览器的种类及版本的不同,这些通讯方式无法兼容市面上的不同web浏览器。因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种web浏览器与服务器进行双向通讯的方法和系统,旨在解决现有通讯方法无法兼容不同web浏览器的问题。
本发明的技术方案如下:
一种web浏览器与服务器进行双向通讯的方法,其中,包括步骤:
A、调用通用API,进行初始化;
B、对当前运行环境进行识别,判断web浏览器是否支持html5,当是时使用Websocket通讯方式与服务器进行双向通讯。
所述的web浏览器与服务器进行双向通讯的方法,其中,所述步骤B中,当web浏览器不支持html5时,判断web浏览器是否支持Flash插件,当是时使用Flashsocket通讯方式与服务器进行双向通讯。
所述的web浏览器与服务器进行双向通讯的方法,其中,所述步骤B中,当web浏览器不支持Flash插件时,判断web浏览器是否支持iframe,当是时使用iframe长连接通讯方式与服务器进行双向通讯。
所述的web浏览器与服务器进行双向通讯的方法,其中,所述步骤B中,当web浏览器不支持iframe时,使用Ajax长轮询通讯方式与服务器进行双向通讯。
一种web浏览器与服务器进行双向通讯的系统,其中,包括:
初始化模块,用于调用通用API,进行初始化;
Websocket通讯模块,用于对当前运行环境进行识别,判断web浏览器是否支持html5,当是时使用Websocket通讯方式与服务器进行双向通讯。
所述的web浏览器与服务器进行双向通讯的系统,其中,还包括:
Flashsocket通讯模块,用于当web浏览器不支持html5时,判断web浏览器是否支持Flash插件,当是时使用Flashsocket通讯方式与服务器进行双向通讯。
所述的web浏览器与服务器进行双向通讯的系统,其中,还包括:
iframe长连接通讯模块,用于当web浏览器不支持Flash插件时,判断web浏览器是否支持iframe,当是时使用iframe长连接通讯方式与服务器进行双向通讯。
所述的web浏览器与服务器进行双向通讯的系统,其中,还包括:
Ajax长轮询通讯模块,用于当web浏览器不支持iframe时,使用Ajax长轮询通讯方式与服务器进行双向通讯。
有益效果:本发明通过对当前运行环境进行识别,判断web浏览器是否支持html5、Flash插件、iframe,进而智能选择使用Websocket通讯方式、Flashsocket通讯方式、iframe长连接通讯方式或者Ajax长轮询通讯方式,从而使本发明的通讯方法可以兼容市面上各种web浏览器。
附图说明
图1为本发明的web浏览器与服务器进行双向通讯的方法较佳实施例的流程图。
图2为本发明的web浏览器与服务器进行双向通讯的方法另一较佳实施例的流程图。
图3为本发明的web浏览器与服务器进行双向通讯的系统较佳实施例的结构框图。
图4为本发明的web浏览器与服务器进行双向通讯的系统另一较佳实施例的结构框图。
具体实施方式
本发明提供一种web浏览器与服务器进行双向通讯的方法和系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明一种web浏览器与服务器进行双向通讯的方法,其包括步骤:
S101、调用通用API,进行初始化;
S102、对当前运行环境进行识别,判断web浏览器是否支持html5,当是时使用Websocket通讯方式与服务器进行双向通讯。
其中的Websocket通讯方式是下一代客户端与服务器之间的异步通信方法,该通信方法取代了单个的TCP套接字,使用ws或wss协议,可用于任意的客户端和服务器程序,Websocket通讯方式由W3C进行标识,该该通讯方式必须是支持html5的web浏览器才能使用,而像IE8、IE7、IE6等老版本的浏览器则不能使用,所以本实施例可通过判断web浏览器是否支持html5,来选择是否使用Websocket通讯方式与服务器进行双向通讯,若支持的话,则web浏览器可通过Websocket通讯方式与服务器进行双向通讯。
在所述步骤S102中,当web浏览器不支持html5时,判断web浏览器是否支持Flash插件,当是时使用Flashsocket通讯方式与服务器进行双向通讯。
Flashsocket通讯方式是在页面中嵌入了一个使用了Socket类的Flash程序,JavaScript通过调用此Flash程序提供的Socket接口与服务器端的Socket接口进行通信,JavaScript在收到服务器端传来的信息后控制页面的显示,这种通讯方式要满足:需在客户端安装Flash插件,只有安装了Flash插件,才能采用该通讯方式,所以此步骤可通过判断web浏览器是否支持Flash插件来选择是否使用Flashsocket通讯方式,当支持时,则使用Flashsocket通讯方式与服务器进行双向通讯。
在所述步骤S102中,当web浏览器不支持Flash插件时,判断web浏览器是否支持iframe,当是时使用iframe长连接通讯方式与服务器进行双向通讯。
iframe长连接通讯方式是在页面里嵌入了一个隐藏iframe,将这个iframe的src属性设为对一个长连接的请求或者采用xhr请求,服务器端就能源源不断地往客户端输入数据,这种通讯方式需满足浏览器支持iframe,所以此步骤判断web浏览器是否支持iframe,若支持的话,则使用此通讯方式与服务器进行双向通讯。
在所述步骤102中,当web浏览器不支持iframe时,使用Ajax长轮询通讯方式与服务器进行双向通讯。
Ajax长轮询通讯方式是由客户端向服务器发送Ajax请求,服务器接收到请求后保持连接,直到有新消息才返回响应消息并关闭连接,客户端处理完响应消息再向服务器发送新的请求,在web浏览器均不支持html5、Flash插件、iframe的情况下,可选择这种通讯方式与服务器进行通讯。
下面提供一具体实施例来对本发明优选方案进行说明,如图2所示,包括:
S201、开始;
S202、调用通用API,进行初始化;
S203、对当前运行环境进行识别,判断web浏览器是否支持html5,当是时使用Websocket通讯方式与服务器进行双向通讯,当否时进入步骤S204;
S204、判断web浏览器是否支持Flash插件,当是时使用Flashsocket通讯方式与服务器进行双向通讯,当否时进入步骤S205;
S205、判断web浏览器是否支持iframe,当是时使用iframe长连接通讯方式与服务器进行双向通讯,当否时进入步骤S206;iframe长连接通讯方式中,服务器维护一个长连接会增加开销,所以在上述两种通讯方式无法实现的情况下,采用此iframe长连接通讯方式与服务器进行双向通讯。
S206、使用Ajax长轮询通讯方式与服务器进行双向通讯;由于Ajax长轮询通讯方式中,存在服务器保持连接会消耗资源、返回数据无顺序保证导致难以管理维护的缺点,所以在上述通讯方式均无法实现的情况下,采用此种通讯方式。
S207、完成与服务器的连接,进行双向通讯;
S208、结束。
在上述步骤中,整个判断步骤和通讯方式的选择对外是不可见的,web开发人员可不用关心底层是什么技术,浏览器是否兼容,只需调用API接口,从而减少了开发人员的开发时间和提高了效率。
本发明的方法是通过三大模块实现的,如图3所示:
底层通讯模块10,其是对底层各种通讯方式和技术的封装和实现,包括websocket通讯方式、Flashsocket通讯方式、ifame长连接通讯方式、Ajax长轮询通讯方式,在调用的时候,可通过当前运行环境,选择相应的通讯方式。
通用通讯模块20,其封装了常用的通讯业务,例如通讯中数据内容的格式化、序列化、加密和解密、日志处理等。
API模块30,向外提供一套统一的API,包括创建连接、关闭连接、断开连接、发送数据、接收数据等。
本发明还提供一种web浏览器与服务器进行双向通讯的系统,如图4所示,其包括:
初始化模块100,用于调用通用API,进行初始化;
Websocket通讯模块200,用于对当前运行环境进行识别,判断web浏览器是否支持html5,当是时使用Websocket通讯方式与服务器进行双向通讯。
进一步,所述系统还包括:
Flashsocket通讯模块300,用于当web浏览器不支持html5时,判断web浏览器是否支持Flash插件,当是时使用Flashsocket通讯方式与服务器进行双向通讯。
进一步,所述系统还包括:
iframe长连接通讯模块400,用于当web浏览器不支持Flash插件时,判断web浏览器是否支持iframe,当是时使用iframe长连接通讯方式与服务器进行双向通讯。
进一步,所述系统还包括:
Ajax长轮询通讯模块500,用于当web浏览器不支持iframe时,使用Ajax长轮询通讯方式与服务器进行双向通讯。关于上述模块的技术细节在前面的方法中已有详述,故不再赘述。
综上所述,本发明通过对当前运行环境进行识别,判断web浏览器是否支持html5、Flash插件、iframe,进而智能选择使用Websocket通讯方式、Flashsocket通讯方式、iframe长连接通讯方式或者Ajax长轮询通讯方式,从而使本发明的通讯方法可以兼容市面上各种web浏览器。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (8)

1.一种web浏览器与服务器进行双向通讯的方法,其特征在于,包括步骤:
A、调用通用API,进行初始化;
B、对当前运行环境进行识别,判断web浏览器是否支持html5,当是时使用Websocket通讯方式与服务器进行双向通讯。
2.根据权利要求1所述的web浏览器与服务器进行双向通讯的方法,其特征在于,所述步骤B中,当web浏览器不支持html5时,判断web浏览器是否支持Flash插件,当是时使用Flashsocket通讯方式与服务器进行双向通讯。
3.根据权利要求2所述的web浏览器与服务器进行双向通讯的方法,其特征在于,所述步骤B中,当web浏览器不支持Flash插件时,判断web浏览器是否支持iframe,当是时使用iframe长连接通讯方式与服务器进行双向通讯。
4.根据权利要求3所述的web浏览器与服务器进行双向通讯的方法,其特征在于,所述步骤B中,当web浏览器不支持iframe时,使用Ajax长轮询通讯方式与服务器进行双向通讯。
5.一种web浏览器与服务器进行双向通讯的系统,其特征在于,包括:
初始化模块,用于调用通用API,进行初始化;
Websocket通讯模块,用于对当前运行环境进行识别,判断web浏览器是否支持html5,当是时使用Websocket通讯方式与服务器进行双向通讯。
6.根据权利要求5所述的web浏览器与服务器进行双向通讯的系统,其特征在于,还包括:
Flashsocket通讯模块,用于当web浏览器不支持html5时,判断web浏览器是否支持Flash插件,当是时使用Flashsocket通讯方式与服务器进行双向通讯。
7.根据权利要求6所述的web浏览器与服务器进行双向通讯的系统,其特征在于,还包括:
iframe长连接通讯模块,用于当web浏览器不支持Flash插件时,判断web浏览器是否支持iframe,当是时使用iframe长连接通讯方式与服务器进行双向通讯。
8.根据权利要求7所述的web浏览器与服务器进行双向通讯的系统,其特征在于,还包括:
Ajax长轮询通讯模块,用于当web浏览器不支持iframe时,使用Ajax长轮询通讯方式与服务器进行双向通讯。
CN201310673215.5A 2013-12-12 2013-12-12 一种web浏览器与服务器进行双向通讯的方法和系统 Expired - Fee Related CN103685269B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310673215.5A CN103685269B (zh) 2013-12-12 2013-12-12 一种web浏览器与服务器进行双向通讯的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310673215.5A CN103685269B (zh) 2013-12-12 2013-12-12 一种web浏览器与服务器进行双向通讯的方法和系统

Publications (2)

Publication Number Publication Date
CN103685269A true CN103685269A (zh) 2014-03-26
CN103685269B CN103685269B (zh) 2017-12-12

Family

ID=50321584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310673215.5A Expired - Fee Related CN103685269B (zh) 2013-12-12 2013-12-12 一种web浏览器与服务器进行双向通讯的方法和系统

Country Status (1)

Country Link
CN (1) CN103685269B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103945003A (zh) * 2014-05-06 2014-07-23 北京邮电大学 一种WebRTC客户端连接动态自适应选择的方法
CN104735151A (zh) * 2015-03-30 2015-06-24 努比亚技术有限公司 进度条的控制方法、装置和系统
CN105827709A (zh) * 2016-03-31 2016-08-03 广东亿迅科技有限公司 一种web语音话务系统实时话务状态的实现方法
CN105897790A (zh) * 2014-11-19 2016-08-24 吴沉立 一种基于web的反向数据交互方法
CN106060128A (zh) * 2016-05-25 2016-10-26 飞天诚信科技股份有限公司 一种浏览器访问智能密钥设备的方法及装置
CN106201375A (zh) * 2016-07-01 2016-12-07 浪潮通用软件有限公司 一种基于WebSocket的网络共享打印控制的方法
WO2018014696A1 (zh) * 2016-07-18 2018-01-25 杭州海康威视数字技术股份有限公司 浏览器语音发送和接收方法、装置及语音对讲系统
CN108322385A (zh) * 2018-01-19 2018-07-24 论客科技(广州)有限公司 一种新邮件到达通知方法、系统与装置
CN109068153A (zh) * 2018-09-28 2018-12-21 华为技术有限公司 视频播放方法、装置和计算机可读存储介质
CN109344312A (zh) * 2018-10-11 2019-02-15 广州鼎甲计算机科技有限公司 基于全双工通信协议的数据交互方法和系统
CN109587210A (zh) * 2018-10-22 2019-04-05 太原市高远时代科技有限公司 一种多浏览器兼容的信息推送的实现方法
CN112491993A (zh) * 2020-11-17 2021-03-12 中信银行股份有限公司 通讯的建立方法、装置、电子设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100281107A1 (en) * 2009-05-01 2010-11-04 Fallows John R Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
CN102163308A (zh) * 2011-04-18 2011-08-24 中国科学院计算技术研究所 一种流程业务数据上传系统及上传方法
CN102761564A (zh) * 2011-04-25 2012-10-31 阿里巴巴集团控股有限公司 图形共享方法、系统与终端
CN103139051A (zh) * 2013-03-22 2013-06-05 南京信通科技有限责任公司 一种基于Websocket协议的即时通讯方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100281107A1 (en) * 2009-05-01 2010-11-04 Fallows John R Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
CN102163308A (zh) * 2011-04-18 2011-08-24 中国科学院计算技术研究所 一种流程业务数据上传系统及上传方法
CN102761564A (zh) * 2011-04-25 2012-10-31 阿里巴巴集团控股有限公司 图形共享方法、系统与终端
CN103139051A (zh) * 2013-03-22 2013-06-05 南京信通科技有限责任公司 一种基于Websocket协议的即时通讯方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103945003B (zh) * 2014-05-06 2017-06-06 北京邮电大学 一种WebRTC客户端连接动态自适应选择的方法
CN103945003A (zh) * 2014-05-06 2014-07-23 北京邮电大学 一种WebRTC客户端连接动态自适应选择的方法
CN105897790A (zh) * 2014-11-19 2016-08-24 吴沉立 一种基于web的反向数据交互方法
CN104735151A (zh) * 2015-03-30 2015-06-24 努比亚技术有限公司 进度条的控制方法、装置和系统
CN105827709A (zh) * 2016-03-31 2016-08-03 广东亿迅科技有限公司 一种web语音话务系统实时话务状态的实现方法
CN106060128A (zh) * 2016-05-25 2016-10-26 飞天诚信科技股份有限公司 一种浏览器访问智能密钥设备的方法及装置
CN106060128B (zh) * 2016-05-25 2019-05-10 飞天诚信科技股份有限公司 一种浏览器访问智能密钥设备的方法及装置
CN106201375B (zh) * 2016-07-01 2019-02-19 浪潮通用软件有限公司 一种基于WebSocket的网络共享打印控制的方法
CN106201375A (zh) * 2016-07-01 2016-12-07 浪潮通用软件有限公司 一种基于WebSocket的网络共享打印控制的方法
WO2018014696A1 (zh) * 2016-07-18 2018-01-25 杭州海康威视数字技术股份有限公司 浏览器语音发送和接收方法、装置及语音对讲系统
US10785375B2 (en) 2016-07-18 2020-09-22 Hangzhou Hikvision Digital Technology Co., Ltd. Method and apparatus for sending and receiving voice of browser, and voice intercom system
CN108322385A (zh) * 2018-01-19 2018-07-24 论客科技(广州)有限公司 一种新邮件到达通知方法、系统与装置
CN109068153A (zh) * 2018-09-28 2018-12-21 华为技术有限公司 视频播放方法、装置和计算机可读存储介质
CN109068153B (zh) * 2018-09-28 2020-10-16 华为技术有限公司 视频播放方法、装置和计算机可读存储介质
CN109344312A (zh) * 2018-10-11 2019-02-15 广州鼎甲计算机科技有限公司 基于全双工通信协议的数据交互方法和系统
CN109587210A (zh) * 2018-10-22 2019-04-05 太原市高远时代科技有限公司 一种多浏览器兼容的信息推送的实现方法
CN109587210B (zh) * 2018-10-22 2021-04-20 太原市高远时代科技有限公司 一种多浏览器兼容的信息推送的实现方法
CN112491993A (zh) * 2020-11-17 2021-03-12 中信银行股份有限公司 通讯的建立方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN103685269B (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
CN103685269A (zh) 一种web浏览器与服务器进行双向通讯的方法和系统
CN104199723B (zh) 基于虚拟设备的摄像头映射方法
CN102291437A (zh) 跨平台互联网应用的实现系统及方法
CN102265290A (zh) 基于智能卡的浏览系统及其方法,以及所应用的智能卡
CN104378399B (zh) 一种数据推送方法、平台服务器、客户端以及系统
CN102904960B (zh) 一种基于rss的信息同步系统及方法
CN104980898A (zh) 一种信息推送方法、系统及设备
CN104268025A (zh) 一种进程间通信的方法及系统、服务器
CN103530160A (zh) 一种页面加载的方法和装置
CN102917061A (zh) 资源同步方法和系统
CN104144202B (zh) Hadoop分布式文件系统的访问方法、系统和装置
US20120102479A1 (en) Automated service version upgrading
CN103780428A (zh) 应用于云架构的集中式资源管理方法及系统
CN105260190A (zh) 基于安卓系统分发技术的安卓应用的运行方法和系统
JP2018537777A (ja) モノのインターネット情報システム
CN103747074A (zh) 基于Web服务器的移动监控系统
CN104144185A (zh) 数据通信方法、装置及终端
CN101588347A (zh) 一种自动生成网络服务客户端的方法
CN103618758A (zh) Web服务器及其系统资源访问控制方法
CN104993980A (zh) 一种长连接应用接入的安全管控方法及系统
CN104268211A (zh) 工程文档到pdf文档的在线转换方法
CN110568996A (zh) 基于设备驱动程序的本地存储容量扩充系统
CN103731449A (zh) 将信息推送到移动终端的方法、系统和装置
CN106815006B (zh) 页面调用方法、装置及页面管理服务器
CN102929559B (zh) 一种提供文件的方法及文件提供系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171212