复制代码代码如下: // 创建一个定期(每5秒)发送消息到客户端的发送器 var interval= setInterval(function(){ client.send('This is a message from the server! ' + new Date().getTime()); },5000); 服务器端将会每5秒推送消息到客户端五、dojox.Socket和Socket.IOPersevere的创建者Kris Zyp创建了dojox.Socket。dojox.Socket以Dojo库一致的方式封装了WebSocket API,用于在客户端不支持WebSocket时,使用long-polling替代。下面是怎样在客户端使用dojox.Socket和在服务器端使用Socket.IO的例子:
复制代码代码如下: var args, ws= typeof WebSocket!= 'undefined'; var socket= dojox.socket(args= { url: ws? '/socket.io/websocket' : '/socket.io/xhr-polling', headers:{ 'Content-Type':'application/x-www-urlencoded' }, transport: function(args, message){ args.content = message;// use URL-encoding to send the message instead of a raw body dojo.xhrPost(args); }; }); var sessionId; socket.on('message', function(){ if (!sessionId){ sessionId= message; args.url += '/' + sessionId; }else if(message.substr(0, 3)== '~h~'){ // a heartbeat } }); dojox.socket.Reconnect还创建了在套接字失去连接时自动重连。期待包含dojox.Socket的Dojo 1.6版本早日发布。六、实际应用和WebSocket资源有很多WebSocke的实际应用。WebSocket对于大多数客户机-服务器的异步通信是理想的,在浏览器内聊天是最突出的应用。WebSocket由于其高效率,被大多数公司所使用。HTML5 WebSocket 相关资源整理如下:Socket.IO站点:http://socket.io/ WebSocket的Wikipedia:http://en.wikipedia.org/wiki/WebSockets WebSockets.org站点:http://www.websockets.org/ Dojo WebSocket站点:http://www.sitepen.com/blog/2010/10/31/dojo-websocket/html教程