前前后后完成这个聊天室的Demo花了大概一个星期,当然一个星期是仅仅指编码的工作。前期的知识储备是从0到1从无到有,花费了一定的时间熟悉Node.js的基本语法以及Node.js和mongoDB之间的交互的过程。Demo中的重难点是socket.io的运行机制,从将socket.io绑定到服务器server上,到服务器和客户端双方都利用emit和on方法进行自定事件的处理。下面分别着重就上述几点进行讲解。
Node.js
Node.js创建服务器以及执行类似后台语言的操作。最近,也在接触C#,在之前也有了解过php。后台语言的主要作用是对数据库进行读写操作,写操作就是接收前端接口传过来的相关数据,通过数据库语句将数据插入到数据库上,目前了解了SQL和MongoDB,前者是典型的关系型数据库,sql语言可以内嵌到后台语言中,而Node.js操作MongoDB是通过Mongoose建立一个Model,执行Model的save方法即可将数据保存到数据库上去;而读操作就是根据前端接口传过来的参数,查询数据库中的数据,并将结果返回给前端。
MongoDB
作为一门介于关系型与非关系型的数据库,其查询语句异常简单,相对sql而言没有那么复杂繁琐的语法。打算继续学习Node.js,依旧使用mongoDB和它搭配。唯一的缺点就是很占硬盘资源。
Socket.io
Socket.Io对html5中的websocket及其它实时通信进行了封装,其内部机制不是很复杂。主要是进行实时通信,语法也很简单。官网上的demo看个一两遍就可以进行编码工作了。
通过这个Demo的完成,毕设也告一段落。实际上代码的编写以及调试并没有花费很多时间,论文倒是占用了很多时间。当你理解Node.js的路由功能以及socke.io的运行机制,那就没什么太大问题了。