demo代码地址:https://github.com/RedDean/work/tree/master/workSpace-Node-myChat
窗外阳光明媚,在3月8日这个普天之下女性共乐的午后,我终于搞定了毕设的第一部分,距离交全部代码还有不到一个半月的时间,fuck my life。这个demo虽然比较粗糙,但是基本功能都实现了。后续毕设添加的功能会在这个基础上拓展。
做一些总结,为之后的版本更新整理下思路。
首先是这个demo的核心,socket.io库。用这个库写聊天程序实在太棒了,回调优雅,思路便于理解。
库的核心是on和emit两个函数,以事件机制驱动,通过这两个函数,服务端和客户端可以方便的进行通信。应注意到的是一些api的使用,比如io.sockets.clients()是拿客户端连接,通过之前为socket对象设置的name属性,来辨认查找具体想要通信的连接(私聊功能)
基础模块:
1.用户登录
2.用户上线
3.聊天
4.用户下线
5.关闭服务器提醒
之后的功能都是在这个基础上迭代。
代码写的时候按以上数字顺序敲的,具体代码与思路在之前文章里。
这个demo里没有用到数据库来存储聊天信息和用户信息,用户信息放到了cookie里面,接下来要做的是为后台添加数据库以及讨论组功能的实现。
前端的页面需要美化,加入一些特效和小功能,比如所在地天气实时显示。 打算使用vue再优化一下,把路由放到前端。
所以,接下的第二个版本主要任务:
1.使用mongoDB代替cookies
2.前端加入vue
3.添加房间分组功能
以上。
网友评论