C/S架构网络聊天软件——Java Chat Application 用java做一个聊天机器人
Fighting!
- 一、C/S概念
- 1.1 什么是C/S
- 1.2 C/S與B/S的區別
- 二、主頁面
- 三、介紹
- 四、特征
- 五、jServer
- 六、jMessenger
- 七、使用代碼
- 7.1 導入項目后報錯情況
- 7.2 解決辦法
一、C/S概念
1.1 什么是C/S
??C/S分布式模式,是計算機用語。C是指Client,S是指Server,C/S模式就是指客戶端/服務器模式。是計算機軟件協同工作的一種模式,通常采取兩層結構。服務器負責數據的管理,客戶機負責完成與用戶的交互任務。
1.2 C/S與B/S的區別
C/S模式是一種兩層結構的系統,第一層是在客戶端上安裝客戶端應用程序,第二層是在服務器上安裝應用服務器。在C/S模式的工作過程中,客戶端程序請求,服務器程序接收并處理客戶端程序請求,并返回結果。
B/S模式,即瀏覽器/服務器模式,是在傳統的兩層C/S模式基礎上發展起來的一種新的網絡結構模式,其本質是三層C/S模式。
在用戶的計算機上安裝瀏覽器軟件,在服務器上存儲數據,安裝服務應用程序,如WWW服務器和文件服務器。用戶通過瀏覽器訪問服務器,以進行信息瀏覽、文件傳輸和電子郵件服務。
兩者區別如下:
一、指代不同
C/S:就是指客戶端/服務器模式。是計算機軟件協同工作的一種模式,采取兩層結構。服務器負責數據的管理,客戶機負責完成與用戶的交互任務。
B/S:是WEB興起后的一種網絡結構模式,WEB瀏覽器是客戶端最主要的應用軟件。
二、原理不同
C/S:客戶端運行應用程序,服務器端運行服務程序。應用程序向服務程序發出一個應用程序。
B/S:統一客戶端,將系統功能實現的核心部分集中到服務器,簡化系統的開發、維護和使用。只需在客戶機上安裝一個瀏覽器,如NetscapeNavigator或InternetExplorer,服務器就會安裝SQLServer、Oracle、MYSQL等數據庫。瀏覽器通過Web服務器與數據庫交互。
三、優勢不同
C/S:可以充分發揮客戶端PC的處理能力,很多工作經過客戶端處理后可以提交給服務器。相應的優點是客戶端響應速度快。
B/S:總擁有成本低,維護方便,分布強,開發簡單。它可以在任何地方操作,而不需要安裝任何特殊的軟件。
二、主頁面
視頻演示:
https://www.bilibili.com/video/BV1Dv41187eW?pop_share=1
代碼下載:
百度網盤鏈接:https://pan.baidu.com/s/1tpVFoOM5XcrKQbM7xf0HNA
提取碼:8888
或者源地址:https://www.codeproject.com/Articles/524120/A-Java-Chat-Application
三、介紹
??在本文中,將演示一個聊天應用程序,它可以同時處理多個用戶。它還支持文件傳輸。
它完全基于Java,由兩部分組成:jMessenger(客戶端應用程序)和jServer(服務器應用程序)。
四、特征
五、jServer
??jServer主要有兩個類分別處理連接和消息:
在啟動時SocketServer單獨運行在一個線程中,它會監聽是否有客戶端連接服務器,一旦發現客戶端jServer就會創建一個單獨的線程去運行ServerThread。
??ServerThread創建后就會持續的監聽來自客戶端的消息,并將消息交由SocketServer處理。同樣,它支持將來自客戶端的消息轉發到其他客戶端。jServer將客戶端用戶名和密碼保存在data.xml中,以支持用戶注冊功能。
六、jMessenger
??jMessenger通過指定的ip地址和端口號連接到jServer。然后,到達的消息以及它們的發送者會顯示在留言板上。需要說明的是,在傳輸文件時,文件并不通過服務器,而是客戶端之間啟用單獨線程直接傳輸,這樣可以同時進行聊天和文件傳輸。jMessenger將消息記錄保存在History.xml中,可以查看聊天歷史記錄。
當用戶想要發送文件時,首先他的請求是通過type消息發送的upload_req。收件人然后執行以下操作:
這種方法的優點是客戶端可以同時聊天和傳輸文件。與消息不同,文件不會通過jServer。
七、使用代碼
代碼下載:點擊此處
注意:一定要關防火墻
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關注!
歡迎關注微信公眾號:寶藏女孩的成長日記
讓這個可愛的寶藏女孩在努力的道路上與你一起同行!
如有轉載,請注明出處(如不注明,盜者必究)
7.1 導入項目后報錯情況
用IDEA導入項目后java項目不能運行,像這樣
7.2 解決辦法
查看sdk是否設置: File > Project Structure > Project
IDEA不能自動對源代碼識別出來src目錄,需要我們進行手動設置:
src目錄=》右鍵 > make Directory as > Source Root
于是我又報了一個錯:
Cannot start compilation: the output path is not specified for module "ruanjianjiagou". Specify the output path in the Project Structure dialog.
點擊OK
在Modules設置里勾選”Inherit project compile path”
設置Project中的”Project compiler output
我在運行時又出現這樣的報錯
如圖:
解決方式:選擇最上面一個,這里可以參考你自己當前已經可以運行的項目,選一樣的就好了。
最后再重啟下項目
參考:
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關注!
歡迎關注微信公眾號:寶藏女孩的成長日記
讓這個可愛的寶藏女孩在努力的道路上與你一起同行!
如有轉載,請注明出處(如不注明,盜者必究)
總結
以上是生活随笔為你收集整理的C/S架构网络聊天软件——Java Chat Application 用java做一个聊天机器人的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linq 左连接 left join
- 下一篇: 【MM系列】SAP 关于更改物料的价格控