首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

WF4.0 實戰(十五):傷心聊天室——WCF 雙工通訊與工作流整合

     編輯:關於.NET

使用 WF4 WCF Workflow Service 雙工通訊實作聊天室,支援開啟/加入/離開聊天室、廣播/私訊訊息、線上名單查詢。客戶端為 WinForm,各自開啟 WCF 回呼服務。

系統架構

專案結構:ChatRoomService(WF Service)、ChatRoom_Client(WinForm)、StartAChatRoom(Console)

核心邏輯:六大服務作業

聊天室流程圖
  1. 開啟聊天室
  2. 加入聊天室
  3. 離開聊天室
  4. 發送訊息給所有人
  5. 發送訊息給指定使用者
  6. 取得線上名單

客戶端雙工回呼實作

每個客戶端啟動獨立 WCF 服務接收伺服器推播:

var ro = new Random();
int port = ro.Next(8000, 9999);
var address = $"https://localhost:{port}/ServiceCallback";
var callback = new ChatRoomCallback { MainFrm = this, UISyncContext = SynchronizationContext.Current };
var host = new ServiceHost(callback, new Uri(address));
host.Open();

將回呼位址傳給伺服器,伺服器使用 Send 活動主動呼叫客戶端回呼合約。

WF 服務流程片段

加入聊天室 ReceiveAndSendReply 設定

介面展示

啟動聊天室伺服器 登入視窗 聊天主介面:左側線上名單、右側訊息區、複選框選擇接收對象 麒麟發送訊息 美女 A 接收訊息

WF4 優勢:可視化編程、設計時極少程式碼、邏輯清晰易維護。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved