通过引入一个简单的界面(请参见下面的列表),开发替代技术,由于长轮询和“永远框架,从而进一步减少延迟。
后台代码
[Constructor(in DOMString url, optional in DOMString protocol)]
[构造函数(DOMString url,可选DOMString协议)]
interface WebSocket {
//readonly attribute DOMString URL;
//仅仅读的属性DOMString URL;
// ready state
const unsigned short CONNECTING = 0;
const unsigned short OPEN = 1;
const unsigned short CLOSED = 2;
readonly attribute unsigned short readyState;
readonly attribute unsigned long bufferedAmount;
// networking
attribute Function onopen;
attribute Function onmessage;
attribute Function onclose;
boolean send(in DOMString data);
void close();
};
WebSocket implements EventTarget; WebSocket实现EventTarget;
利用WebSocket接口不能简单。连接到一个端点,就创建一个新的WebSocket实例,为新对象提供一个URL,代表你想要连接的端点,例如以下面演示样例所看到的。
请注意,ws:/ /和wss:/ /前缀表明WebSocket和安全提出了WebSocket连接,分别。
JavaScript代码
var myWebSocket = new WebSocket("ws://www.websockets.org");
建立WebSocket连接从HTTP协议升级到WebSockets协议在初始client和server之间的握手。
连接本身是通过“onmessage”和“发送”功能定义的WebSocket接口。
连接到一个端点发送消息之前,您能够将一系列事件监听器来处理连接的生命周期的每一个阶段,例如以下面演示样例所看到的。
JavaScript代码
myWebSocket.onopen = function(evt) { alert("Connection open ..."); };
myWebSocket.onmessage = function(evt) { alert( "Received Message: " + evt.data); };
myWebSocket.onclose = function(evt) { alert("Connection closed."); };
向server发送一条消息,仅仅需调用“发送”,并提供您希望提供的内容。发送消息后,称之为“接近”终止连接,例如以下面演示样例所示。
正如你所示,真的无法更加easy。
JavaScript代码
myWebSocket.send("Hello WebSockets!");
myWebSocket.close();