资源描述:
《基于node实现websocket协议》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解基于node实现websocket协议 这篇文章主要介绍了基于node实现websocket协议的相关资料,需要的朋友可以参考下 一、协议 WebSocket是一种基于TCP之上的客户端与服务器全双工通讯的协议,它在HTML5中被定义,也是新一代webapp的基础规范之一。 它突破了早先的AJAX的限制,关键在于实时性,服务器可以主动推送内容到客户端!可能的应用有:多人在线游戏,即时聊天,实时监控,远程桌面,新闻服务器等
2、等。 对于我自己,当前最想尝试的是canvas+websocket组合起来能做什么。 二、实现 由于握手的过程是一个标准的HTTP请求,因此websocket的实现有两种选择:1)TCP上实现;2)现有HTTP软件上实现。后者的优势在于可以共用现有的HTTP服务器端口,并且不用重新实现认证功能和解析HTTP请求的功能。 这个示例中使用的node的HTTP模块。(TCP版及所有文件见附件) 1、node服务器端代码: varhttp=require('http'); varurl=require('url');对党的认识也有了进一步的提高。才真正体会到了
3、中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 //varmime=require('mime'); varcrypto=require('crypto'); varport=4400; varserver=http.createServer(); server.listen(port,function(){ console.log('serverisrunningonloc
4、alhost:',port); server .on('connection',function(s){ console.log('onconnection',s); }) .on('request',onrequest) .on('upgrade',onupgrade); }); varonrequest=function(req,res){ console.log(Object.keys(req),req.url,req['upgrade']); if(!req.upgrade){ //非upgrade请
5、求选择:中断或提供普通网页 res.writeHead(200,{'content-type':'text/plain'}); res.write('WebSocketserverworks!');对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 } res.end(); return; }; varonupgrade=fu
6、nction(req,sock,head){ //console.log('方法:',Object.keys(sock)); if(req.headers.upgrade!=='WebSocket'){ console.warn('非法连接'); sock.end(); return; } bind_sock_event(sock); try{ handshake(req,sock,head); }catch(e){ console.error(e); sock.end(); } }; //包装将要
7、发送的帧 varwrap=function(data){ varfa=0x00,fe=0xff,data=data.toString()对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 len=2+Buffer.byteLength(data), buff=newBuffer(len); buff[0]=fa; buff.