簡體   English   中英

C#即時通訊

[英]C# Instant messaging

我正在使用C#開發一個即時消息傳遞程序(僅供學習)。
只想知道我的方法是對還是錯。
我創建了一個Client類,其中包含NetworkStream和Read / Write函數。
服務器為每個客戶端創建一個新線程,該線程偵聽任何新消息。

還有更好的方法嗎?

嘗試WCF。 是一個很好的示例。

您不一定需要為每個客戶端生成線程。 我將研究Observer設計模式,因為它解決了發布-訂閱問題,這是查看即時消息傳遞應用程序的好方法,特別是如果您希望一個對話者有多個偵聽器時。 這是一個不錯的起點: http : //www.blackwasp.co.uk/Observer.aspx 該鏈接討論了觀察者模式並提到了即時消息傳遞: http : //www.oodesign.com/observer-pattern.html

您可能會發現,單線程方法可能能夠跟上大量消息。 根據類的設計方式,您可能會發現將整個對話置於自己的線程中很有用。 您還應該考慮使用隊列來處理傳入和傳出消息,隊列讀取器也位於其自己的線程中。

聽起來像是一個有趣的項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM