- 51Aspx源碼必讀.txt[7KB]
- from .gif[4KB]
- YutianSignalChat.sln[1KB]
- 最新Asp.Net源碼下載.url[123B]
源碼介紹
源碼參數
一、源碼特點
1.Net Framework Wpf 即時通訊聊天室軟件。
2.使用當前最流行的客戶端和服務端通信框架 SignalR實現。
3.2個項目:服務端ChatServerCS項目、客戶端ChatClientCS項目。
4.適合學習想要學習實時推送和服務端和客戶端交互的同學和想直接應用到商業項目中的IT工作人員。
二、項目詳情
內部項目名:YutianSignalChat
產品名:雨田.Net SignalR+Wpf即時通訊聊天室軟件
版本號:1.0
開發周期:2個月
開發時間:2020年-2021年
開發語言:C#
系統架構:C/S
開發工具:Microsoft Visual Studio 2019
所用數據庫:內存數據庫
開發系統: Windows 10
運行環境:Windows 2000/Windows Server 2003/Windows XP/Windows Server 2008/Windows Server 2012/Windows 7/Windows Vista/Windows 8||8.1/Windows 10/
三、所用技術棧
1.SignalR通訊框架
2.WebSocket技術
3.Net Framework 4.6
4.MVVM雙向數據綁定設計模式
5.Wpf設計和Xaml界面設計
6.Material Design設計框架
7.Cors跨域請求
8.控制臺做服務器載體
四、產品功能點
1.登錄注冊。
2.自動上線后實時顯示其他用戶的上線狀態和輸入狀態。
4.修改個人信息頭像等。
5.發送文字信息給每一個人。
6.可以發送圖片信息。
7.服務器所有用戶的上下線信息和狀態信息日志統計。
五、注意事項
測試用戶名:計算機
測試用戶名:程序員
使用方法:
1.首先運行服務端項目ChatServerCS,雙擊打開后不用管。
2.然后運行客戶端項目ChatClientCS,雙擊打開后輸入用戶名或者密碼登錄進入聊天室聊天。
六、延伸介紹
SignalR 是什么?
SignalR 是一個面向 ASP.NET 開發人員的庫,可簡化將實時 web 功能添加到應用程序的過程。 實時 web 功能是讓服務器代碼將內容推送到連接的客戶端立即可用,而不是讓服務器等待客戶端請求新數據的能力。
SignalR 是一個集成的客戶端與服務器庫,基于瀏覽器的客戶端和基于 ASP.NET 的服務器組件可以借助它來進行雙向多步對話。 換句話說,該對話可不受限制地進行單個無狀態請求/響應數據交換;它將繼續,直到明確關閉。 對話通過永久連接進行,允許客戶端向服務器發送多個消息,并允許服務器做出相應答復,值得注意的是,還允許服務器向客戶端發送異步消息。是一個完全基于客戶及服務器端解決方案,它是以JS作為客戶端和ASP.NET作為服務端來創建這類的應用。
傳統HTTP采用的是大家熟知的“拉模式”,即客戶端發出的每次請求,服務端都是被動處理。此場景下客戶端是老大,很顯然只有一方主動,操作與處理起來就沒那么完美。為了能讓服務端也能主動,html5的出現讓這種變得可能,大家知道html5中有兩種主動模式。第一種叫做websockect,WebSockets是Html5提供的新的API,可以在Web網頁與服務器端間建立Socket連接,它是基于tcp模式的雙工通訊。還有一種叫做SSE,也就是客戶端來訂閱服務器的一種事件模型。在html5出來之前,如果要做到服務器主動,我們只能采用變相的longpool和iframe流勉強實現。這就相當于要實現服務端的主動就有了4種方案。SignalR的出現是我們每位開發者的福音。它對上面四種方案進行了高度的封裝,也就是說signalR會在這四種技術中根據瀏覽器和服務器設置采取最優的一種模式。
可以用SignalR做什么?
SignalR可用于將任何類型的"實時"web 功能添加到 ASP.NET 應用程序。 比如最常用的即時消息、聊天。 只要用戶刷新 web 頁面以查看新數據或頁面實現長輪詢若要檢索新數據,可以考慮對它使用 SignalR。 包括儀表板和監視應用程序,協作應用程序 (如同時進行編輯的文檔),作業的進度更新到并實時窗體。
SignalR還可以用于需要高頻率從服務器中更新的全新類型weB應用程序,例如在線聊天、實時游戲、天氣、股票信息更新等實時應用程序。
SignalR 提供一個簡單的 API,用于創建從服務器端.NET 代碼中調用 JavaScript 函數在客戶端瀏覽器 (和其他客戶端平臺) 的服務器到客戶端的遠程過程調用 (RPC)。 SignalR 還包括連接管理的 API (例如,連接和斷開連接事件),并對連接進行分組。
SignalR自動處理連接管理,并允許您同時將消息廣播到所有連接的客戶端,如聊天室。 還可以將消息發送到特定的客戶端。 客戶端和服務器之間的連接是持久性的。
SignalR與常用的Web瀏覽器上請求-響應模式不同,它支持"服務器推送"功能,可以調用遠程過程調用 (RPC)。
SignalR應用程序可以橫向擴展到數千個客戶端使用服務總線、 SQL Server 或Redis。