websocket

Posted 追忆枉然

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了websocket相关的知识,希望对你有一定的参考价值。

转载出处:http://www.cnblogs.com/wei2yi/archive/2011/03/23/1992830.html


WebSocket API是下一代客户端-服务器的异步通信方法。该通信取代了单个的TCP套接字,使用ws或wss协议,可用于任意的客户端和服务器程序。WebSocket目前由W3C进行标准化。WebSocket已经受到Firefox 4、Chrome 4、Opera 10.70以及Safari 5等浏览器的支持。

WebSocket API最伟大之处在于服务器和客户端可以在给定的时间范围内的任意时刻,相互推送信息。WebSocket并不限于以Ajax(或XHR)方式通信,因为Ajax技术需要客户端发起请求,而WebSocket服务器和客户端可以彼此相互推送信息;XHR受到域的限制,而WebSocket允许跨域通信。

Ajax技术很聪明的一点是没有设计要使用的方式。WebSocket为指定目标创建,用于双向推送消息。
// 创建一个Socket实例
var socket = new WebSocket(\'ws://localhost:8080\'); 

// 打开Socket 
socket.onopen = function(event) { 

  // 发送一个初始化消息
  socket.send(“ws客户端已经链接到了!\'); 

  // 监听消息
  socket.onmessage = function(event) { 
    console.log(\'Client received a message\',event); 
  }; 

  // 监听Socket的关闭
  socket.onclose = function(event) { 
    console.log(\'Client notified socket has closed\',event); 
  }; 

  // 关闭Socket.... 
  //socket.close() 
};


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

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

WebSocket的语法非常简单,使用WebSockets是难以置信的容易……除非客户端不支持WebSocket。IE浏览器目前不支持WebSocket通信。如果你的客户端不支持WebSocket通信,下面有几个后备方案供你使用:

以上是关于websocket的主要内容,如果未能解决你的问题,请参考以下文章

WebSocket的简单入门使用

WebSocket的简单入门使用

WebSocket的简单入门使用

学习cocoscreator 接触到的WebSocket的学习笔记

WebSocket的简单入门使用

websocket原理