成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

用NodeJS打造多人在線聊天室(NodeJS & SocketIO & Expre

codecook / 2138人閱讀

摘要:技術(shù)棧項(xiàng)目背景這個(gè)項(xiàng)目主要是為了玩玩,項(xiàng)目的方向大概是做出類似的在線聊天系統(tǒng)。項(xiàng)目使用進(jìn)行部署和管理,功能在不斷的迭代開發(fā)中。首頁(yè)用戶列表用戶中心注冊(cè)登陸注銷用戶資料指定聊天室開始安裝使用之前,請(qǐng)?jiān)谥行薷牡陌惭b路徑。

技術(shù)棧:NodeJS & SocketIO & Express & EJS & MongoDB & Gulp

項(xiàng)目背景

這個(gè)項(xiàng)目主要是為了玩玩NodeJS,項(xiàng)目的方向大概是做出類似QQ的在線聊天系統(tǒng)。想要在線體驗(yàn)可以點(diǎn)擊在線演示。

項(xiàng)目使用PM2進(jìn)行部署和管理,功能在不斷的迭代開發(fā)中。如果你覺得這個(gè)項(xiàng)目比較有趣,或者能對(duì)你有所幫助,歡迎給個(gè)Star。

項(xiàng)目地址:https://github.com/bergwhite/nchat

PS: 最近找工作,北京的歡迎聯(lián)系。另外之前做過一個(gè)基于Vue全家桶二次開發(fā)的V2EX社區(qū) https://github.com/bergwhite/v2ex-vue。

項(xiàng)目目錄

├─bin
│    www  // 啟動(dòng)express
├─database
│    index.js  // MongoDB
├─public  // 靜態(tài)文件
│    css
│        index.css  // 首頁(yè)CSS
│    js
│        index.js  // 與socket服務(wù)進(jìn)行通訊(關(guān)鍵文件)
|        socket-server.js  // socket服務(wù)(關(guān)鍵文件)
│    img
├─routers
│    index.js  // 頁(yè)面路由
├─view
│    error.ejs  // 錯(cuò)誤頁(yè)
│    index.ejs  // 首頁(yè)
│    userCenter.ejs  // 用戶中心(規(guī)劃中)
│    userList.ejs  // 用戶列表(規(guī)劃中)
├─app.js  // express
├─package.json  // npm包

路由

目前只有/目錄和/room/:id正式使用了,其他路由的頁(yè)面還在迭代開發(fā)中。

/  // 首頁(yè)
/user  // 用戶列表
/user/:id  // 用戶中心
/user/:id/register  // 注冊(cè)(JSON)
/user/:id/login  // 登陸(JSON)
/user/:id/logout  // 注銷(JSON)
/user/:id/info  // 用戶資料(JSON)
/room/:id  // 指定聊天室

開始安裝

使用之前,請(qǐng)?jiān)趐ackage.json中修改MongoDB的安裝路徑(--dbpath)。

git clone https://github.com/bergwhite/nodejs-chat  // 克隆項(xiàng)目到本地
cd nodejs-chat  // 進(jìn)入項(xiàng)目目錄
npm install  // 安裝依賴
npm run build  // 構(gòu)建線上代碼
npm run mongod // 啟動(dòng)MongoDB服務(wù)
npm run start // 啟動(dòng)聊天室服務(wù)并啟動(dòng)網(wǎng)站

項(xiàng)目演示

目前項(xiàng)目存在一個(gè)已知的bug,表情包無(wú)法在div模擬的輸入框中插入(修復(fù)中)。

匿名聊天

用戶聊天

成員&房間

離線通知

更多房間

房間獨(dú)立

已上線功能

跨瀏覽器,跨地域聊天(SocketIO自帶技能)

首次進(jìn)入會(huì)顯示歡迎信息

發(fā)送空消息會(huì)進(jìn)行提示

直接發(fā)送消息默認(rèn)昵稱為“神秘人”

發(fā)送消息后會(huì)清空當(dāng)前輸入框內(nèi)容,然后焦點(diǎn)回到消息輸入框

添加用戶名后會(huì)成為新用戶,然后告知全房間人有新用戶加入

可以創(chuàng)建不同的房間,不同的房間的聊天是相互獨(dú)立的

顯示當(dāng)前房間的在線用戶(設(shè)置了用戶名的)

顯示目前所有打開的房間

用戶(設(shè)置了用戶名的)離線會(huì)通知所有房間內(nèi)的成員

壓縮線上代碼,加快訪問速度

...

待上線功能

用戶名

統(tǒng)計(jì)匿名用戶

支持一鍵隨機(jī)獲取用戶名

頭像

訪客使用默認(rèn)頭像

新用戶(設(shè)置了用戶名的)隨機(jī)獲得一個(gè)頭像

新用戶換頭像可以從默認(rèn)的一組頭像中選擇

是否支持上傳頭像還在考慮中(安全性問題)

聊天

支持多組豐富的表情包

是否支持上傳圖片還在考慮中(安全性問題)

數(shù)據(jù)庫(kù)

對(duì)接MongoDB,新用戶(設(shè)置了用戶名的)設(shè)置密碼后,將從臨時(shí)用戶轉(zhuǎn)變?yōu)檎接脩?/p>

項(xiàng)目缺陷

界面丑(等功能完善了再考慮)

表情包無(wú)法在div模擬的輸入框中插入(修復(fù)中)

...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/83270.html

相關(guān)文章

  • NodeJS打造多人在線天室NodeJS & SocketIO & Expre

    摘要:技術(shù)棧項(xiàng)目背景這個(gè)項(xiàng)目主要是為了玩玩,項(xiàng)目的方向大概是做出類似的在線聊天系統(tǒng)。項(xiàng)目使用進(jìn)行部署和管理,功能在不斷的迭代開發(fā)中。首頁(yè)用戶列表用戶中心注冊(cè)登陸注銷用戶資料指定聊天室開始安裝使用之前,請(qǐng)?jiān)谥行薷牡陌惭b路徑。 技術(shù)棧:NodeJS & SocketIO & Express & EJS & MongoDB & Gulp 項(xiàng)目背景 這個(gè)項(xiàng)目主要是為了玩玩NodeJS,項(xiàng)目的方向大概...

    Astrian 評(píng)論0 收藏0
  • 全棧式的開發(fā)多人在線天室

    摘要:技術(shù)棧覺得好的歡迎點(diǎn)個(gè)。前端后端部署演示全棧式的開發(fā)多人在線聊天室項(xiàng)目只適配了移動(dòng)端,請(qǐng)使用瀏覽器的手機(jī)視圖查看。之前刪除了一個(gè)文件,但是沒有刪除中的對(duì)應(yīng)值。編譯時(shí)會(huì)報(bào)上面的錯(cuò)誤。 技術(shù)棧 覺得好的歡迎點(diǎn)個(gè)star ^_^。 前端:Express & EJS & ES6 & Less & Gulp 后端:Express & SocketIO & MongoDB & REST API ...

    Chiclaim 評(píng)論0 收藏0
  • 基于狀態(tài)機(jī)模型的斗地主游戲(NodeJs&SocketIO

    摘要:系統(tǒng)結(jié)構(gòu)系統(tǒng)考慮使用和實(shí)現(xiàn)服務(wù)器端邏輯,前端使用。邏輯流程主要邏輯包括用戶進(jìn)入游戲等待對(duì)家進(jìn)入游戲游戲過程結(jié)束統(tǒng)計(jì)這個(gè)過程。 1. 系統(tǒng)結(jié)構(gòu) 系統(tǒng)考慮使用Nodejs和SocketIo實(shí)現(xiàn)服務(wù)器端邏輯,前端使用HTML5。showImg(https://segmentfault.com/img/remote/1460000007643089); 2. 邏輯流程 1 . 主要邏輯包括用戶...

    NoraXie 評(píng)論0 收藏0
  • 基于狀態(tài)機(jī)模型的斗地主游戲(NodeJs&SocketIO

    摘要:系統(tǒng)結(jié)構(gòu)系統(tǒng)考慮使用和實(shí)現(xiàn)服務(wù)器端邏輯,前端使用。邏輯流程主要邏輯包括用戶進(jìn)入游戲等待對(duì)家進(jìn)入游戲游戲過程結(jié)束統(tǒng)計(jì)這個(gè)過程。 1. 系統(tǒng)結(jié)構(gòu) 系統(tǒng)考慮使用Nodejs和SocketIo實(shí)現(xiàn)服務(wù)器端邏輯,前端使用HTML5。showImg(https://segmentfault.com/img/remote/1460000007643089); 2. 邏輯流程 1 . 主要邏輯包括用戶...

    xcold 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<