admin 管理员组

文章数量: 887021


2024年2月24日发(作者:wps怎么导入xml文件)

HTML5+CSS3 了解WebSockets API

WebSocket 规范,其中主要介绍了WebSocket的握手协议。握手协议通常是在构建WebSocket 服务器端的实现和提供浏览器的WebSocket支持时需要考虑的问题,而针对Web 开发人员的WebSocket JavaScript客户端接口是非常简单的,以下是WebSocket JavaScript 接口的定义:

[Constructor(in DOMString url, in optional DOMString protocol)]

interface WebSocket {

readonly attribute DOMString URL;

//就绪状态

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;

//交互

attribute Function onopen;

attribute Function onmessage;

attribute Function onclose;

boolean send(in DOMString data);

void close();

};

WebSocket implements EventTarget;

var wsServer = 'ws://localhost:8888/Demo';

var websocket = new WebSocket(wsServer);

= function (evt) { onOpen(evt) };

e = function (evt) { onClose(evt) };

age = function (evt) { onMessage(evt) };

r = function (evt) { onError(evt) };

function onOpen(evt) {

("Connected to WebSocket server.");

}

function onClose(evt) {

("Disconnected");

其中,URL属性代表WebSocket服务器的网络地址,协议通常是ws、send方法就是发送数据到服务器端,close方法就是关闭连接。除了这些方法,还有一些很

重要的事件:onopen,onmessage,onerror 以及onclose。

因为,每个服务器端语言有自己的API。下面的代码片段是打开一个连接,为连接创建事件监听器,断开连接,消息时间,发送消息返回到服务器,关闭连接。

//创建一个Socket实例

var wsServer = 'ws://localhost:8888/Demo';

//打开Socket

var websocket = new WebSocket(wsServer){

//发送一个初始化消息

('I am the client and I'm listening!');

//监听消息

age = function(event){

('Client received a message',event);

};

//监听Socket的关闭

e = function(event){

('Client notified socket has closed',event);

};

// 关闭Socket

//()

};

上述代码初始化片段中,参数为URL,ws表示WebSocket协议。onopen、onclose和onmessage方法把事件连接到Socket实例上。每个方法都提供了一个事件,以表示Socket的状态。

onmessage事件提供了一个data属性,它可以包含消息的Body部分。消息的Body部分必须是一个字符串,可以进行序列化/反序列化操作,以便传递更多的数据。


本文标签: 连接 消息 方法 协议 序列化