Labview實例——像QQ一樣的聊天室程序


TOMORROW 星辰 , 版權所有丨如未注明 , 均為原創丨本網站采用BY-NC-SA協議進行授權 
轉載請注明原文鏈接:Labview 實例——像 QQ 一樣的聊天室程序

 

Labview是一個很簡單的開發平台,圖形化的編程。下面給大家分享一個用 Labview 開發的一個像 QQ 一樣的即時通訊聊天室,基於 TCP/IP 協議。可以實現多人同時在線聊天,並且可以實時顯示在線成員的昵稱哦。

下載通道:

https://www.tomorrow.wiki/archives/764

注意:本段內容須成功“回復本文”后“刷新本頁”方可查看!

 

程序框圖的保護密碼為:www.tomorrow.wiki

功能演示

  • 首先用戶創建一個聊天室;

 

圖 7-1-1 客戶端 0 創建聊天室

  • 接着有兩個遠程客戶端加入聊天室,並開始聊天,可以看到聊天窗口會實時顯示聊天內容,Online List 也會顯示實時在線的用戶;

Labview 實例——像 QQ 一樣的聊天室程序

圖 7-1-2 聊天過程中客戶端 0 的狀態

Labview 實例——像 QQ 一樣的聊天室程序

圖 7-1-3 聊天過程中客戶端 1 的狀態

Labview 實例——像 QQ 一樣的聊天室程序

圖 7-1-4 聊天過程中客戶端 2 的狀態

  • 聊天室創建人銷毀聊天室后,可以看到,客戶端 1 和客戶端 2 都在嘗試重新連接到聊天室,最終若連續嘗試若干次都失敗后,就都會退出客戶端程序;

Labview 實例——像 QQ 一樣的聊天室程序

圖 7-1-5 聊天被銷毀后客戶端 1 的狀態

Labview 實例——像 QQ 一樣的聊天室程序

圖 7-1-6 聊天被銷毀后客戶端 2 的狀態

架構設計

總體架構

該程序將采用 C/S(Client/Server)架構來進行設計。服務器程序將作為一個子 VI 程序相對獨立於客戶端程序,運行在創建聊天室的用戶的本地主機上。

Labview 實例——像 QQ 一樣的聊天室程序

服務器架構

  • 接收啟動或者不啟動服務器監聽程序的信號;
  • 啟動服務器監聽程序后循環監聽是否有新的客戶端連接加入,並將其保存到緩存中;
  • 服務器程序將輪流從緩存中的客戶端讀取數據,並將接收到的數據分發到緩存中的所有客戶端,當發送失敗時則將相對應的客戶端從緩存中刪除,此部分功能與(2)中的服務器監聽程序並行;

Labview 實例——像 QQ 一樣的聊天室程序

客戶端架構

  • 客戶端采用了狀態機的設計思想;
  • 客戶端首先進入初始化狀態,根據輸入連接到相對應的服務器,然后切換到接收狀態;
  • 在接收狀態中,客戶端接收來自服務器的數據。當接收失敗時重新回到初始化狀態;接收成功則進入發送狀態;
  • 在發送狀態中,客戶端若接收到用戶的發送指令時則把用戶輸入的內容發送到服務器去,否則則發送狀態指令到服務器。當發送成功時,切換到接收狀態;失敗時則重新回到初始化狀態;

Labview 實例——像 QQ 一樣的聊天室程序


TOMORROW 星辰 , 版權所有丨如未注明 , 均為原創丨本網站采用 BY-NC-SA協議進行授權 
轉載請注明原文鏈接: Labview 實例——像 QQ 一樣的聊天室程序
2  3  下一頁


免責聲明!

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



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