Jetty开发指导:WebSocket介绍
WebSocket是一个新的基于HTTP的双向通讯的协议。
它是基于低级别的框架协议。使用UTF-8 TEXT或者BINARY格式传递信息。
在WebSocket中的单个信息能够是不论什么长度(然而底层框架有单帧63bits的限制)。
发送的信息数量不受限制。
信息被持续的发送,基础协议不支持交叉的信息。
一个WebSocket连接经历一些主要的状态改变:
1)CONNECTING:HTTP升级到WebSocket正在进行中
2)OPEN:HTTP升级成功,而且socket如今打开并准备读/写
3)CLOSING:WebSocket Close Handshake正在进行
4)CLOSED:WebSocket已经被关闭。不能进行很多其它的读/写
当一个WebSocket被关闭,一个状态码和简短的原因字符串被提供。
Jetty提供了什么
Jetty提供了一个以下的标准和规范的实现。
WebSocket协议
我们支持终于公布的规范,版本13.
Jetty使用autobahn testsuite測试它的WebSocket协议实现。
Java WebSocket API(javax.websocket)
这是官方提供的Java API。
不稳定的标准和规范:
WebSocket APIs
提供的API和库。为了使用Jetty实现你的WebSocket。包含:
1)Jetty WebSocket API
2)Jetty WebSocket Server API
3)Jetty WebSocket Client API
4)Java WebSocket Client API
5)Java WebSocket Server API
这些我们都将在后面具体讲述。
Jetty开发指导:WebSocket介绍的更多相关文章
- Jetty开发指导:Jetty Websocket API
Jetty WebSocket API使用 Jetty提供了功能更强的WebSocket API,使用一个公共的核心API供WebSockets的服务端和client使用. 他是一个基于WebSock ...
- Jetty开发指导:HTTP Client
介绍 Jetty HTTP client模块提供易用的API.工具类和一个高性能.异步的实现来运行HTTP和HTTPS请求. Jetty HTTP client模块要求Java版本号1.7或者更高,J ...
- Jetty开发指导:框架
Spring设置 你能嵌入Jetty到你的项目中,也能够使用差点儿全部的IoC类型框架,包含Spring.假设全部你想做的是在你的Spring中设置Jetty Server,那么以下的xml片段能够作 ...
- Jetty使用教程(四:24-27)—Jetty开发指南
二十四.处理器(Handler ) 24.1 编写一个常用的Handler Jetty的Handler组件用来处理接收到的请求. 很多使用者不需要编写Jetty的Handler ,而是通过使用Serv ...
- WebSocket介绍,与Socket的区别
WebSocket介绍与原理 WebSocket protocol 是HTML5一种新的协议.它实现了浏览器与服务器全双工通信(full-duplex).一开始的握手需要借助HTTP请求完成. ——百 ...
- 谈下WebSocket介绍,与Socket的区别
这个话题应该是面试中出现频率比较高的吧....不管咋样还是有必要深入了解下两者之间的关联.废话不多说,直接入题吧: WebSocket介绍与原理 目的:即时通讯,替代轮询 网站上的即时通讯是很常见的, ...
- Jetty使用教程(四:21-22)—Jetty开发指南
二十一.嵌入式开发 21.1 Jetty嵌入式开发HelloWorld 本章节将提供一些教程,通过Jetty API快速开发嵌入式代码 21.1.1 下载Jetty的jar包 Jetty目前已经把所有 ...
- Jetty 开发指南:Jetty 内嵌开发
Jetty的口号是“不要在Jetty中部署你的应用程序,在你的应用程序中部署Jetty!” 这意味着,作为将应用程序捆绑为要部署在Jetty中的标准WAR的替代方案,Jetty旨在成为一个软件组件,可 ...
- Xamarin开发Anroid应用介绍
第1章 Xamarin开发Anroid应用介绍 如今智能手机已经盛行了好几年,而针对这些智能手机的软件开发也变得异常火热.但是在Android平台下只能使用Java开发,iOS平台下也只能使用Obj ...
随机推荐
- sendEmail实现邮件报警
安装 wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz 或者点击下载 tar -xf sen ...
- acm专题---dfs+bfs
题目来源:http://hihocoder.com/problemset/problem/1049 #1049 : 后序遍历 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描 ...
- 数据分析python应用到的ggplot(二)
还是优达学院的第七课 数据:https://s3.amazonaws.com/content.udacity-data.com/courses/ud359/hr_by_team_year_sf_la. ...
- es 插件
类 若 实现NativeScriptFactory接口.A factory to create instances of either {@link ExecutableScript} or {@li ...
- js自动检索输入文章长度
1. 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- #ifndef的用法
作用:防止头文件的重复包含和编译 定义 #ifndef x #define x ... #endif 这是宏定义的一种,它可以根据是否已经定义了一个变量来进行分支选择,一般用于调试等等.实际上确切的说 ...
- currentTime安卓
设定一个时间编写CurrentTime类设置属性为该时间用toString显示该时间我使用的currentTime ,苹果用起来是好使得为什么.安卓走到下面这一步却不接着走呢!!! e.current ...
- django的orm获取字段去重值
如果要用django的ORM获取一个表字段所有可能的去重值. 网上找了很多,都是用distinct关键字,但如何没有随后的order_by, 还是达不到要求的. 最后搞定. 参考URL http:// ...
- IEEEXtreme 10.0 - Painter's Dilemma
这是 meelo 原创的 IEEEXtreme极限编程比赛题解 Xtreme 10.0 - Painter's Dilemma 题目来源 第10届IEEE极限编程大赛 https://www.hack ...
- MySQL5.7 centos7.2 yum 安装
1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ # 下载mysql源安装包 shell> wge ...