成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#網絡聊天程序三大模式淺析

開發 后端
C#網絡聊天程序三大模式都是什么呢?他們各自都有什么特點呢?那么本文就向你介紹具體的內容。

C#網絡聊天程序三大模式都是什么呢?讓我們開始吧:

實現一個網絡聊天程序本應是***一篇文章的內容,也是本系列***的一個程序,來作為一個終結。但是我想后面更多的是編碼,講述的內容應該不會太多,所以還是把講述的東西都放到這里吧。

C#網絡聊天程序三大模式之一

網絡聊天實現模式1 

當采用這種模式時,即是所謂的完全點對點模式,此時每臺計算機本身也是服務器,因為它需要進行端口的偵聽。實現這個模式的難點是:各個主機(或終端)之間如何知道其它主機的存在?此時通常的做法是當某一主機上線時,使用UDP協議進行一個廣播(Broadcast),通過這種方式來“告知”其它主機自己已經在線并說明位置,收到廣播的主機發回一個應答,此時主機便知道其他主機的存在。這種方式我個人并不喜歡,但在 C#編寫簡單的聊天程序 這篇文章中,我使用了這種模式,可惜的是我沒有實現廣播,所以還很不完善。

網絡聊天實現模式2 

C#網絡聊天程序三大模式之二

第二種方式較好的解決了上面的問題,它引入了服務器,由這個服務器來專門進行廣播。服務器持續保持對端口的偵聽狀態,每當有主機上線時,首先連接至服務器,服務器收到連接后,將該主機的位置(地址和端口號)發往其他在線主機(綠色箭頭標識)。這樣其他主機便知道該主機已上線,并知道其所在位置,從而可以進行連接和對話。在服務器進行了廣播之后,因為各個主機已經知道了其他主機的位置,因此主機之間的對話就不再通過服務器(黑色箭頭表示),而是直接進行連接。因此,使用這種模式時,各個主機依然需要保持對端口的偵聽。在某臺主機離線時,與登錄時的模式類似,服務器會收到通知,然后轉告給其他的主機。

網絡聊天實現模式3 

C#網絡聊天程序三大模式之三

第三種模式是我覺得最簡單也最實用的一種,主機的登錄與離線與第二種模式相同。注意到每臺主機在上線時首先就與服務器建立了連接,那么從主機A發往主機B發送消息,就可以通過這樣一條路徑,主機A --> 服務器 --> 主機B,通過這種方式,各個主機不需要在對端口進行偵聽,而只需要服務器進行偵聽就可以了,大大地簡化了開發。

而對于一些較大的文件,比如說圖片或者文件,如果想由主機A發往主機B,如果通過服務器進行傳輸效率會比較低,此時可以臨時搭建一個主機A至主機B之間的連接,用于傳輸大文件。當文件傳輸結束之后再關閉連接(桔紅色箭頭標識)。

除此以外,由于消息都經過服務器,所以服務器還可以緩存主機間的對話,即是說當主機A發往主機B時,如果主機B已經離線,則服務器可以對消息進行緩存,當主機B下次連接到服務器時,服務器自動將緩存的消息發給主機B。

C#網絡聊天程序三大模式的基本情況就向你介紹到這里,希望對你了解和學習C#網絡聊天程序有所幫助。

【編輯推薦】

  1. C#異步調用四大方法詳解
  2. C#網絡編程消息發送問題淺析
  3. C#異步傳輸字符串服務端的實現
  4. C#異步傳輸字符串客戶端的實現
  5. C#網絡編程基本概念TCP淺析
責任編輯:仲衡 來源: 博客園
相關推薦

2009-09-01 09:37:15

C#寫文件

2009-09-07 04:56:52

C#模式窗體

2009-08-20 17:30:56

C#異步編程模式

2009-08-14 11:00:16

C#創建Windows

2009-08-28 16:03:15

C#程序實現鼠標移動

2009-08-21 17:48:43

C#網絡編程

2009-08-21 17:53:25

C#網絡編程客戶端程序

2009-04-29 09:06:18

C#設計模式Adapter

2009-09-07 09:53:01

C# DisposeDispose方法

2009-09-07 14:52:01

C# HTTP Req

2009-09-07 14:00:57

C#抓取網頁

2011-06-03 10:15:13

2009-08-14 17:45:52

C# ArrayLis

2009-08-17 18:34:50

C# ChangeCo

2009-08-07 17:25:37

C# SortedLi

2009-08-21 14:03:04

C#網絡編程

2009-08-20 17:47:54

C#異步編程模式

2009-08-25 17:59:49

C#入門

2009-08-21 17:33:34

服務器端程序C#網絡編程

2009-08-21 17:39:20

服務器端程序C#網絡編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 97影院在线午夜 | 午夜电影合集 | 精品国产18久久久久久二百 | 91成人在线视频 | 国产精品99久久免费观看 | 在线国产一区二区 | 久久久久久一区 | 亚洲第一区国产精品 | 国产一区在线免费 | 欧美久久不卡 | 免费在线观看一区二区三区 | 中文字幕免费在线观看 | 日韩不卡一二区 | 久久aⅴ乱码一区二区三区 91综合网 | 国产精品无码专区在线观看 | 亚洲视频一区在线 | 久久久久久久国产 | 免费一区在线 | 久久久久一区 | 18av在线播放 | 国产这里只有精品 | 亚洲成人国产综合 | 国产精品国产成人国产三级 | 美女天天操| 欧美精品一区二区三区在线播放 | av在线免费观看网址 | 在线看av网址 | 国产精品美女久久久久久免费 | 日本视频免费观看 | 美女国内精品自产拍在线播放 | 一a一片一级一片啪啪 | 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 久久久精品日本 | 91视频88av | 亚洲一区二区三区在线播放 | 国产精品明星裸体写真集 | 一区二区三区四区不卡视频 | 少妇淫片aaaaa毛片叫床爽 | 亚洲 欧美 精品 | 久久一区二区三区四区 | 伊人久久精品 |