demo代碼地址:https://github.com/RedDean/work/tree/master/workSpace-Node-myChat
窗外陽光明媚隅很,在3月8日這個(gè)普天之下女性共樂的午后,我終于搞定了畢設(shè)的第一部分挎春,距離交全部代碼還有不到一個(gè)半月的時(shí)間,fuck my life。這個(gè)demo雖然比較粗糙瓮恭,但是基本功能都實(shí)現(xiàn)了。后續(xù)畢設(shè)添加的功能會(huì)在這個(gè)基礎(chǔ)上拓展厘熟。
做一些總結(jié)屯蹦,為之后的版本更新整理下思路维哈。
首先是這個(gè)demo的核心,socket.io庫。用這個(gè)庫寫聊天程序?qū)嵲谔袅说抢剑卣{(diào)優(yōu)雅阔挠,思路便于理解。
庫的核心是on和emit兩個(gè)函數(shù)脑蠕,以事件機(jī)制驅(qū)動(dòng)购撼,通過這兩個(gè)函數(shù),服務(wù)端和客戶端可以方便的進(jìn)行通信谴仙。應(yīng)注意到的是一些api的使用,比如io.sockets.clients()是拿客戶端連接迂求,通過之前為socket對(duì)象設(shè)置的name屬性,來辨認(rèn)查找具體想要通信的連接(私聊功能)
基礎(chǔ)模塊:
1.用戶登錄
2.用戶上線
3.聊天
4.用戶下線
5.關(guān)閉服務(wù)器提醒
之后的功能都是在這個(gè)基礎(chǔ)上迭代晃跺。
代碼寫的時(shí)候按以上數(shù)字順序敲的揩局,具體代碼與思路在之前文章里。
這個(gè)demo里沒有用到數(shù)據(jù)庫來存儲(chǔ)聊天信息和用戶信息掀虎,用戶信息放到了cookie里面凌盯,接下來要做的是為后臺(tái)添加數(shù)據(jù)庫以及討論組功能的實(shí)現(xiàn)。
前端的頁面需要美化烹玉,加入一些特效和小功能驰怎,比如所在地天氣實(shí)時(shí)顯示。 打算使用vue再優(yōu)化一下春霍,把路由放到前端。
所以叶眉,接下的第二個(gè)版本主要任務(wù):
1.使用mongoDB代替cookies
2.前端加入vue
3.添加房間分組功能
以上址儒。