復制代碼代碼如下: // 創建一個定期(每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教程