用Node.js實現多人多房間在線聊天程序
先看下效果:
case 1:進入房間初始界面:默認進入房間「Lobby」,用戶默認昵稱 命名規則為 小可愛 x 號,當有用戶進入房間時,系統消息會提醒「『用戶昵稱』已經進入『房間名』啦!」,當用戶更換房間時,系統消息會提醒「房間已更改!」
case 2:當前用戶發送消息後,系統會發送給其他用戶,發送消息的用戶的聊天消息。注意:當前用戶發的消息,是直接插到在當前用戶的聊天界面的,此時,會將 當前用戶的聊天消息 通過 WebSocket 發送給伺服器,伺服器再發送給其他用戶界面。
case 3:更改昵稱,使用命令 「/nick 『用戶名』」來更改用戶昵稱,同時系統廣播給其他用戶
case 4:更換房間,使用命令「/join 『房間名』」來更換房間,系統只提醒更改房間的用戶,同時,進入新房間時,系統會通知當前用戶,該房間有哪些用戶。注意:當一個房間沒有用戶時,該房間會被自動清除掉,除非用戶再新建一個。
技術重點:使用 Socket.IO 處理跟聊天相關的消息
項目目錄如下:
package.json:
開發步驟:第一步:創建HTTP伺服器——server.js:
第二步:設置 Socket.IO 伺服器
第三步:向伺服器發送用戶的消息和昵稱,以及變更昵稱和房間的請求——chat.js
第四步:顯示其他用戶的消息,以及可使用房間的列表——chat_ui.js
第五步:npm install 安裝依賴包,然後在終端輸入 node server.js ,打開瀏覽器,輸入 url:localhost:3000 即可運行本程序。
github 地址:https://github.com/AttackXiaoJinJin/NodeTest ,歡迎 fork。
小進進還沒開通留言功能,覺得不錯的話,點贊、轉發朋友圈都是一種支持(●"?"●)?。
歡迎關注本公眾號:
(完)
TAG:webchen |