HTML5 WebSocket and Web Messages Pushlet

jsr-356

Programming Model

In general, two different programming models are supported:

  • Annotation-driven. Using annotated POJOs, developers can interact with the WebSocket lifecycle events.
  • Interface-driven. Developers can implement the Endpoint interface and the methods that interact with the lifecycle events.

ServerApplicationConfig supports for annotated Endpoints.

http://www.oracle.com/technetwork/articles/java/jsr356-1937161.html

websocket api:
https://msdn.microsoft.com/zh-cn/library/Hh673567(v=VS.85).aspx    IE10+
https://developer.mozilla.org/zh-CN/docs/Web/API/WebSocket

方法概述

void close(in optional unsigned long code, in optional DOMString reason);

void send(in DOMString data);

属性

属性名

类型

描述

binaryType

DOMString

一个字符串表示被传输二进制的内容的类型。取值应当是"blog"或者"arraybuffer"。

"blob"表示使用DOMBlob 对象,而"arraybuffer"表示使用ArrayBuffer

bufferedAmount

unsigned long

已被send()放入正在队列中等待传输,但是还没有发出的字节数。这个值在连接关闭前不会设为0。如果持续调用send(),这个值会持续增长。只读

extensions

DOMString

服务器选定的扩展。目前这个属性只是一个空字符串,或者是一个包含所有扩展的列表。

onclose

EventListener

用于监听连接关闭事件监听器。当WebSocket对象的readyState状态变为CLOSED时会出发该事件。这个监听器会接收一个叫close的CloseEvent对象。

onerror

EventListener

当错误发生时用于监听error事件的事件监听器。会接受一个名为error的event对象。

onmessage

EventListener

一个用于消息事件的事件监听器,这一事件当有消息到达的时候该事件会触发。这个Listener会被传入一个名为"message"的MessageEvent对象。

onopen

EventListener

一个用于连接打开事件的事件监听器。当readyState的值变为OPEN的时候会触发该事件。该事件表明这个连接已经准备好接受和发送数据。这个监听器会接受一个名为"open"的事件对象。

protocol

DOMString

一个表明服务器选定的子协议名字的字符串。这个属性的取值会被取值为构造器传入的protocols参数。

readyState

unsigned short

连接的当前状态。取值是 Ready state constants之一。只读

url

DOMString

传入构造器的URL。它必须是一个绝对地址的URL。只读

常量

Ready state constants

这些常量是readyState属性的取值,可以用来描述WebSocket连接的状态。

Constant

Value

Description

CONNECTING

连接还没开启。

OPEN

1

连接已开启并准备好进行通信。

CLOSING

2

连接正在关闭的过程中。

CLOSED

3

连接已经关闭,或者连接无法建立。

 

Apache2.4 websocket
Apache Module mod_proxy_wstunnel