欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

HTML5实战与剖析之使用HTML5 WebSocket API

程序员文章站 2023-11-06 23:28:40
  通过引入一个简洁的接口(见下面的清单),开发者可以替代技术,如长轮询和“永远帧,因此进一步降低延迟。   后台代码 [constructor(in domstring url, op...

  通过引入一个简洁的接口(见下面的清单),开发者可以替代技术,如长轮询和“永远帧,因此进一步降低延迟。


  后台代码


[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协议在初始客户端和服务器之间的握手。连接本身是通过“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."); };


  向服务器发送一条消息,只需调用“发送”,并提供您希望提供的内容。发送消息后,称之为“接近”终止连接,如以下示例所示。正如你所看到的,真的无法更加容易。


  javascript代码


mywebsocket.send("hello websockets!"); 
mywebsocket.close();