CN103685269A - 一种web浏览器与服务器进行双向通讯的方法和系统 - Google Patents
一种web浏览器与服务器进行双向通讯的方法和系统 Download PDFInfo
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 158
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000005516 engineering process Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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浏览器与服务器之间的双向通讯方式有多种,例如长轮询、长连接、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长轮询通讯方式与服务器进行双向通讯。
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)
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)
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协议的即时通讯方法 |
-
2013
- 2013-12-12 CN CN201310673215.5A patent/CN103685269B/zh not_active Expired - Fee Related
Patent Citations (4)
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)
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 |