WebSocket技术
webSocket技术
在html5技术革新中,加入了WebSocket技术
1.webSocket实际是TCP连接
webSocket在最初将发送http连接请求到服务器端,
但是在header中加入了附加信息,
这些附加信息会在服务器端接收到并解析,
使得服务器端知道需要把这一个http连接升级到WebSocket的连接,
服务器随后将响应返回给客户端, 这样WebSocket连接就建立了。
2.在发送数据的时候,数据包的开头以0x00开始,以0xFF结束,
用以区分每次发送数据包
3.其他:webSocket客户端由js编写,服务端可以使用各种语言,需要遵循webSocket的规范,实现能够支持webSocket的应用服务器端
在webSocket之前的轮询技术
1.这种模式在接触webSocket的期间,自己就想到了,如果使用ajax异步请求,可以让服务器不响应ajax,当需要给客户端发信息的时候再响应,这样客户端接收信息后,再请求,这期间服务器如果有信息要发给客户端的话,先缓存,等客户端在发请求的时候,再一起响应。这样循环询问,当有信息就响应,无信息就等待。
2.Iframe 隐藏标签,标签的src指向是服务器servlet,每次触发时间到servlet时,servlet就会把响应数据写入Iframe的隐藏标签,响应的数据的形式是JS可执行代码,这样就会自动执行,以达到传输数据的目的;
缺点是,不知道连接状态;而且Iframe已经过时
socket.io
代码地址:https://github.com/socketio/socket.io/
实现了传统的轮询机制,包括服务端:
a.Adobe® Flash® Socket
b.AJAX long polling
c.AJAX multipart streaming
d.Forever Iframe
f.JSONP Polling
实现了webSocket,包括服务器的实现,可以使用node.js搭建
创建服务器的代码示例:
var server = require('http').createServer();
var io = require('socket.io')(server);
io.on('connection', function(socket){
socket.on('event', function(data){});
socket.on('disconnect', function(){});
});
server.listen(3000);
WebSocket技术的更多相关文章
- HTML5 WebSocket 技术介绍
WebSocket是html5规范新引入的功能,用于解决浏览器与后台服务器双向通讯的问题,使用WebSocket技术,后台可以随时向前端推送消息,以保证前后台状态统一,在传统的无状态HTTP协议中,这 ...
- 对WebSocket技术的学习与探索(二)
近日重新开始学习WebSocket技术,什么是WebSocket,在<对WebSocket技术的学习与探索(一)>文章中已经说明白了,还没理解可以看看这篇文章http://www.ruan ...
- WebSocket详解(一):初步认识WebSocket技术
1.什么是Socket?什么是WebSocket? 对于第1次听说WebSocket技术的人来说,两者有什么区别?websocket是仅仅将socket的概念移植到浏览器中的实现吗? 我们知道,在网络 ...
- 基于Springboot后台,前台 vue.js 跨域 Activiti6 工作流(用到websocket技术) 的项目
工作流模块----------------------------------------------------------------------------------------------- ...
- 常用的Websocket技术一览
1. 前言 Websocket是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议.WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据 ...
- 简易集成websocket技术实现消息推送
Websocket 简介 首先介绍下WebSocket,它是一种网络通信技术,该技术最大的特点就是,服务器端可以主动往客户端发送消息:当然,客户端也可以主动往服务器发送消息,实现两端的消息通信,属于网 ...
- websocket技术分享
开发环境: spring3+tomcat7+spring-websocket4 运行环境: windows.Linux 一.背景: 产品将要发布的消息或其他需要让客户提前知道的消息,在客户端和服务端建 ...
- SpringBoot WebSocket技术
最近看了Spring in Action,了解了一下WebSocket和Stomp协议相关技术,并搭建了一个项目.网上的例子不完整或者描述不清,所以自己记录一下以作备忘. 一.配置 Spring Bo ...
- vue项目使用websocket技术
一.为什么需要websocket? 前端和后端的交互模式最常见的就是前端发数据请求,从后端拿到数据后展示到页面中.如果前端不做操作,后端不能主动向前端推送数据,这也是http协议的缺陷. 因此,一种新 ...
随机推荐
- NOI题库-小学奥赛QwQ
今天Loli教育我们让我们来看看NOI题库的奥赛部分,不过,为何是小学的( ⊙ o ⊙ )啊!感觉智商被各种侮辱. 余数相同问题: 描述 已知三个正整数 a,b,c. 现有一个大于1的整数x,将其作为 ...
- linux在线学习
https://www.shiyanlou.com/courses/running/291#note
- Thinkphp中验证码的使用以及验证的实现
<input class="TxtValidateCodeCssClass" id="captcha" name="captcha" ...
- Mutex和内存可见性
http://ifeve.com/mutex-and-memory-visibility/ POSIX内存可见性规则 IEEE 1003.1-2008定义了XBD 4.11内存同步中的内存可见性规则. ...
- javascript console 函数详解 js开发调试的利器
Console 是用于显示 JS和 DOM 对象信息的单独窗口.并且向 JS 中注入1个 console 对象,使用该对象 可以输出信息到 Console 窗口中. 使用 alert 不是一样可以显示 ...
- Visual Studio Online Integrations-Testing
原文:http://www.visualstudio.com/zh-cn/explore/vso-integrations-directory-vs
- SecureCRT光标颜色
SecureCRT连linux光标一直没有,尤其是在vim编辑文档的时候特别麻烦,今天找出解决办法: 选项->会话选项->仿真:将ANSI颜色选中: 选项->会话选项->外观: ...
- 优化MySQL,还是使用缓存?读一篇文章有感
今天我想对一个Greenfield项目上可以采用的各种性能优化策略作个对比.换言之,该项目没有之前决策强加给它的各种约束限制,也还没有被优化过. 具体来说,我想比较的两种优化策略是优化MySQL和缓存 ...
- HNU 12847 Dwarf Tower(最短路+队列优化)
题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12847 解题报告:有n样物品,编号从1到n第i样物品可以通过金 ...
- [Effective JavaScript 笔记]第19条:熟练掌握高阶函数
高阶函数介绍 高阶函数曾经是函数式编程的一个概念,感觉是很高深的术语.但开发简洁优雅的函数可以使代码更加简单明了.过去几年中脚本语言采用了这些个技术,揭开了函数式编程的最佳惯用法的神秘面纱.高阶函数就 ...