文档章节

Java WebSocket 编程(一)

w
 warlockssss
发布于 2016/10/18 10:34
字数 332
阅读 265
收藏 2

1、相关概念

  • WebSocket 协议是一个网络协议,允许两个相连的端在一个单一TCP 连接上进行全双工消息通信。类似打电话。
  • Java Web Socket API是最近的Java EE 7平台的核心特性。

其中比较重要类

  • Java WebSocket(暂且称为EndPoint),其创建方式有两种
    • 注解式:使用@ServerEndpoint,并在注解中配置uri值。
    • 编程式:继承EndPoint
  • Session:可用于获取RemoteEndpoint。
  • RemoteEndpoint:可以分为两类
    • RemoteEndpoint.Basic:同步,等待消息发送完成后返回
    • RemoteEndpoint.Asyn:异步,不等待消息发送完成后返回
  • ServerApplicationConfig:用于注册WebSocket对象

2、WebSocket生命周期

  • 打开:@OnOpen;void方法,可选带参数一个Session、一个EndPointConfig、任意多个@PathParam
  • 消息:@OnMessage;方法参数一个Session、一个EndPointConfig、任意多个@PathParam、消息、分片标志位(Boolean,true-最后;false-非)
                消息类型
                        *文本消息:String、Reader
                        *二进制:ByteBuffer、byte[]、InputStream
                        pong消息:PongMessage接口实例
                返回类型
                        void:
                        非 void:会将返回值发送给消息的发送者。
  • 错误:@OnError:可带错误消息Throwable、Session、多个@PathParam
  • 关闭:@OnClose:可带关闭信息CloseReason、Session、多个@PathParam

WebSocket是多实例多线程模式(与Sevlet不同处)。

© 著作权归作者所有

w
粉丝 14
博文 73
码字总数 23115
作品 0
宝山
私信 提问
加载中

评论(1)

E
EmmaGong
我觉得这种东西自己开发太麻烦了,就别自己捣鼓了,找个第三方,方便,GoEasy就挺不错的,我昨天试了一下,代码简洁易懂,几分钟我就洗了一个自己的实时推送功能;官网: http://goeasy.io/
Spray.io搭建Rest — 支持WebSocket

Spray.io尝试 使用Spray.io搭建Rest服务 Spray.io搭建Rest — 支持Twirl模板并部署 Spray.io搭建Rest — 支持WebSocket Spray.io搭建Rest — 支持WebSocket 工程地址:http://git.oschina.ne...

ForEleven
2014/04/30
0
3
java websocket 服务器编程

现在需要用websocket协议写一个服务器程序,用java websocket相关技术。客户端不是浏览器,可以当做是desktop client,服务器用java api for websocket 或者tomcat 支持的websocket 均可。现在...

阶前梧叶
2014/09/16
260
1
使用 JSR 356 API 构建 Java WebSocket 应用

大家都知道这样一个事实,那就是HTTP(Hypertext Transfer Protocol)是一个无状态的请求-响应式协议。HTTP协议的这种简单设计使它颇具扩展性却不够高效,并且不适合于频繁交互的实时网络应用。...

oschina
2013/08/08
8.7K
3
java websocket API 服务器

有人在整java websocket api 的服务器程序吗? CshBBrain 和TooTallNate-Java-WebSocket这两个开源项目都是用java 的Socket来实现websocket的服务,我想着java websocket api出来了,那就用自...

阶前梧叶
2014/09/28
1K
2
Java EE HTML5 WebSocket 示例

在这个教程中,我们将借助于Java EE websocket的实现(服务器端)来实现HTML5 的 websocket。 1.介绍 HTML5规范带来了使用websocket标准服务让浏览器建立全双工TCP链接的能力。 换言之,浏览...

oschina
2013/08/14
112.8K
64

没有更多内容

加载失败,请刷新页面

加载更多

阿里P7架构师:这些技术点没搞懂,我劝你不要跳槽!

阿里P7架构师架构师:这些技术点没搞懂,我劝你不要跳槽! 哪些技术点呢? 废话不多说,技术点全在下面这6张图里面了! 1.怎么看源码? 2.分布式 3.微服务 4.性能优化 5.工程化 粉丝福利:一...

别打我会飞
13分钟前
1
0
易错题

architect刘源源
18分钟前
0
0
使用Json4s 将带有Timestamp的对象转json时 变为所在时区

在有Timestamp属性的对象转json时 最后出来的时间会减小8小时,是因为变成了0时区,需要将隐式转换中添加设置本地时区 import org.json4s.{DefaultFormats, Formats}import org.json4s.jac...

可达鸭Go
19分钟前
0
0
工作六年java程序员的工作感悟,带你走出迷茫

前言 很多年前,刚刚从大学毕业的时候,很多公司来校招。其中最烂俗的一个面试问题是:“你希望你之后三到五年的发展是什么?”。我当时的标准回答是(原话):“成为在某一方面能够独当一面...

java知识分子
24分钟前
0
0
jenkins邮箱发送失败以及解决方案

jenkins邮箱设置报错以及解决方案 Jenkins邮箱设置 我用了 Email Extended Plugin这个插件,这个插件会有更加丰富的邮件内容,建议添加。 1.安装 Email Extended Plugin 2.系统管理-系统设置...

shzwork
34分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部