node.js搭建基础聊天室总结

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.添加房间分组功能

以上。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,778评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • 又到荔枝飘香时 这几天水果市场里的“明星”当属荔枝了 荔枝口感甜嫩多汁且富含硒元素 深受广大市民的喜爱 那么该如何...
    有料食研所阅读 267评论 0 0
  • 曦月的生日近了,18岁的生日,他既没有办个生日party,也没有去酒店清好友吃饭,只是拿了钱,拉了孤剑便说着什么旅...
    青衣衣衣阅读 308评论 0 2
  • “五一”过得开心吗?有没有什么小确幸要和大家分享? 五一过的很开心。第一天和阿姨进行沟通交流(自己父母实在与我沟通...
    小黄2333阅读 127评论 0 1