网络套接字是下一代WEB应用程序双向通信技术,它是基于一个独立的socket并且需要客户端浏览器支持HTML5
一旦你了解了网络套接字与WEB服务器的连接,你将可以从浏览器发送数据到服务器并且可以接收由服务器返回的响应数据。
以下是创建一个新的WebSocket对象的API:
这里第一个参数是指要连接的URL,第二个参数是可选的,如果需要的话,则是指定一个的服务器支持的协议。
WEB Socket属性:
属性 | 说明 |
---|---|
Socket.readyState | readyState的代表的ReadOnly属性的连接状态。它可以有以下值:
|
Socket.bufferedAmount | 读属性的bufferedAmount代表文本的字节数,utf - 8的排队使用send()方法。 |
WEB Socket事件:
事件 | 处理程序 | 说明 |
---|---|---|
open | Socket.onopen | 此事件发生在套接字建立连接。 |
message | Socket.onmessage | 此事件发生时,客户端收到来自服务器的数据。 |
error | Socket.onerror | 此事件发生时有任何通信错误。 |
close | Socket.onclose | 此事件发生在连接关闭。 |
WEB Socket方法:
方法 | 说明 |
---|---|
Socket.send() | send(data)方法用来连接传输数据。 |
Socket.close() | close()方法将被用于终止任何现有的连接。 |
WEB Socket例子:
var ws =new WebSocket("ws://echo.websocket.org");
//一个0值表示该连接尚未建立。 值为1表示连接建立和沟通是可能的
//值为2表示连接是通过将结束握手。值为3表示连接已关闭或无法打开。
cc.log("ws.readyState", ws.readyState);
//当Browser和WebSocketServer连接成功后,会触发onopen消息
ws.onopen = function(){
ws.send("Test!");
cc.log("ws.readyState", ws.readyState);
};
//当Browser接收到WebSocketServer发送过来的数据时
ws.onmessage = function(evt){
cc.log(evt.data);
cc.log("ws.readyState", ws.readyState);
//关闭
ws.close();
};
//当Browser接收到WebSocketServer端发送的关闭连接请求时
ws.onclose = function(evt){
cc.log("WebSocketClosed!");
cc.log("ws.readyState", ws.readyState);
};
//如果连接失败,发送、接收数据失败或者处理数据出现错误
ws.onerror = function(){
cc.log("WebSocketError!");
cc.log("ws.readyState", ws.readyState);
};