什么是WebSocket API?
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为指定目标创建,用于双向推送消息。
WebSocket API的用法
/ 创建一个Socket实例 var socket = new WebSocket(‘ws://localhost:8080‘); // 打开Socket socket.onopen = function(event) { // 发送一个初始化消息 socket.send(‘I am the client and I\‘m listening!‘); // 监听消息 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() };
NodeJS和Socket.IO联合开发
// 需要HTTP 模块来启动服务器和Socket.IO var http= require(‘http‘), io= require(‘socket.io‘); // 在8080端口启动服务器 var server= http.createServer(function(req, res){ // 发送HTML的headers和message res.writeHead(200,{ ‘Content-Type‘: ‘text/html‘ }); res.end(‘<h1>Hello Socket Lover!</h1>‘); }); server.listen(8080); // 创建一个Socket.IO实例,把它传递给服务器 var socket= io.listen(server); // 添加一个连接监听器 socket.on(‘connection‘, function(client){ // 成功!现在开始监听接收到的消息 client.on(‘message‘,function(event){ console.log(‘Received message from client!‘,event); }); client.on(‘disconnect‘,function(){ clearInterval(interval); console.log(‘Server has disconnected‘); }); });
转自http://www.itpub.net/thread-1373652-1-1.html
时间: 2024-10-07 21:51:15