Node.js, Websocket, socket.io, 基础

一、 Node.js是运行在服务端的Javascript,是基于事件驱动I/O服务端的Javascript。
通过事件轮训来完成在单线程下完成任务的并行处理。
二、 Node.js安装:
1、https://nodejs.org/dist/v4.4.3/node-v4.4.3-x64.msi下载安装包
直接安装,安装完成之后命令行窗口输入 node –v来查看Node版本,打印出版本则安装成功。
2、NPM为Node包管理工具,安装过node之后可以通过npm –v 查看NMP版本。使用NPM安装Node所需资源包Demo:npm install –save socket.io。
3、Node相关路径
3-1、Node执行文件默认路径:C:\Users\Administrator 该路径下.js文件可直接通过node .js 执行。其他路径下需要通过node +路径执行。Demo node D:\aaa.js
3-2、NPM安装资源包路径:C:\Users\Administrator\node_modules
4、Node执行Hello World: 在C:\Users\Administrator目录下新建test.js,在文件内输入console.log(‘hello weold’); 命令行执行 node test.js 则可打印出hello world。
**三、**Socket.io
1、因为http协议是无状态的,需要通过轮训来保证浏览器与服务器的实时通讯,轮训造成大量的网络通讯和延迟。
2、WebSocket本质上是一个TCP连接,能够保证浏览器与服务器的实时通讯。
2-1、为了建立一个WebSocket连接,客户端首先需要向服务器发起一个Http请求,该请求和通常的Http请求不一样,包含了一些附加的头信息,如Upgrade:Websocket表明客户端与服务端的通信协议从HTTP升级到了WebSocket协议。服务端解析这些特殊的附加头信息应答服务端,这个WebSocket就建立了,客户端与服务端可以自由应答消息,直至某一方主动关闭连接。
2-2、粘包问题:当WebSocket建立连接后发送的只是纯粹的数据,在发送数据流中会有数据的开始标识和结束标识,用来处理粘包。
3、Socket.io是对WebSocket的封装,并且实现了服务端代码,同时也封装了其他的连接方式如Ajax(仍然需要浏览器请求),应为有些浏览器不支持websocket。

有了基础概念之后是不是该来一波测试练练手了,下面就来个位置同步Demo吧

使用Node.js+socket.io制作服务端,unity+socket.io for unity 制作客户端 ,使用Unity游戏引擎验证位置同步Demo (Javascript代码可使用Webstorm等IDE进行编写)

服务器编写 http://blog.csdn.net/zhangzhaoyuxunlei/article/details/53183485
项目下载地址: http://download.csdn.net/detail/zhangzhaoyuxunlei/9674578

发布了14 篇原创文章 · 获赞 4 · 访问量 9138

猜你喜欢

转载自blog.csdn.net/zhangzhaoyuxunlei/article/details/53183448