WebSocket實現實時聊天系統


WebSocket實現實時聊天系統

 

    等閑變卻故人心,卻道故人心易變。

 

簡介:前幾天看了WebSocket,今天體驗下它的實時聊天。

一、項目介紹

WebSocket 實時聊天系統自己一個一碼的搞出來還是要花費好多時間的,我就找了兩個項目來玩玩。但眾所周知,項目來了還是要稍加修改才可正常使用,下面推薦兩個很好改的典型項目。

尊重-尊重-尊重原創,這兩個項目我是幾天前在Github 上找到的並非原創,但瀏覽網頁關掉了,Github 原文鏈接找不到了貼不出來,下面提供百度網盤下載鏈接,壓縮包很小下載方便。

下載鏈接1: https://pan.baidu.com/s/1c1_ePy_B3zlsqbIhQCPsZA     密碼: eont

下載鏈接2:https://pan.baidu.com/s/1dDN2fc4Jsom69BwtblJ8Zg       密碼: fsmw

二、項目1-ChatOnLine

該項目使用WebSocket 及Java 搭建在線聊天系統,包含服務端和客戶端。

我個人感覺這個項目的技術算是比較老的,現在很多項目至少都是SpringBoot、前后端分離等。而這個項目不僅是要發布到tomcat 中運行,而且前后端不分離、后端代碼混插這JSP頁面等,代碼讀起來比較費勁,但寫出來的都是高手,點贊。

1、導入工程

下載好zip 包解壓,導入IDEA 中,IDEA 配置好maven 后都會順利下載Jar 包依賴。

可能會報錯的地方,不錯最好;Project Structure 下的Modules 多出了其他沒必要的Modules,只需保留chat-online-maven 一個Modules。

還有一個要修改的地方,這個地方啟動並不會報錯,但是到查詢數據庫的時候就會報錯,因為工程中使用的連接Mysql 數據庫工具的版本太低了,調高版本即可。

         <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
        </dependency>        

 2、運行工程

導入工程都沒有任何報錯之后,就可以着手運行工程了。但這個項目有涉及到數據庫操作,所以先把數據庫准備好以及代碼中連接數據庫的用戶名稱、密碼、數據庫名稱。

1、修改工程中DBInfo 

修改DBInfo 類中的url、username和password,改為能連上自己Mysql 數據庫的url、username、password,其中url 包括IP 和數據庫名稱。

 2、建立本地數據庫&表

可以在數據庫界面手動創建,也可以通過Sql 語句執行。

create database dbchatroom;/*創建數據庫*/

--創建用戶表
create table ChatUser(username CHAR(20) PRIMARY KEY, password CHAR(64) NOT NULL, nickname VARCHAR(20), sex CHAR(2)); create view ViewUserToChat as select username, password, nickname, sex from ChatUser;

 3、發布工程到Tomcat 容器

還是SpringBoot 項目方便快捷,內置tomcat 容器,不需要把工程打包到tomcat 中。配置tomcat 容器就不多說了,改下Server 和Deployment 選中要發布的工程即可。

 發布成功:

 4、登錄聊天系統

先點擊注冊,再使用注冊的賬號登錄聊天室。

 聊天界面:

這個項目到這里我還是不太滿意,用戶限制方面可以借鑒,但聊天界面和方式不太樂觀。還是要結合項目二,但是項目二有部分數據是寫死的比如用戶,沒有項目一靈活。

三、項目二-ChatRoom

該項目使用Spring + Netty + WebSocket 實現了實時聊天系統,這個項目最令我滿意的一點就是導入即可運行,無需任何一絲一毫的改動。

1、發布運行

項目二也不是SpringBoot 項目,運行方式和項目一一樣,需要發布到tomcat 容器。

2、登錄界面 

該用戶數據寫死,沒用到數據庫,上圖UserInfoDaoImpl 中記錄着登錄信息。

 3、聊天界面

聊天界面做的也很好,再加上一些功能進一步完善就可以商用了。

五、我的聊天系統

我的聊天系統也是基於WebSocket 實現的,未上線~

 

 

 

等閑變卻故人心

    卻道故人心易變

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM