中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#網絡聊天程序三大模式是什么

發布時間:2021-12-03 10:02:07 來源:億速云 閱讀:149 作者:iii 欄目:編程語言

這篇文章主要介紹“C#網絡聊天程序三大模式是什么”,在日常操作中,相信很多人在C#網絡聊天程序三大模式是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C#網絡聊天程序三大模式是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

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

C#網絡聊天程序三大模式是什么

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

C#網絡聊天程序三大模式是什么

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

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

C#網絡聊天程序三大模式是什么

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

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

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

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

到此,關于“C#網絡聊天程序三大模式是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海淀区| 和林格尔县| 阿鲁科尔沁旗| 东方市| 成安县| 旅游| 土默特右旗| 宜黄县| 手游| 卢氏县| 亳州市| 灵寿县| 乡城县| 塔河县| 长武县| 长宁区| 陆川县| 凤台县| 东莞市| 周至县| 常山县| 双牌县| 定安县| 布尔津县| 电白县| 南华县| 策勒县| 海盐县| 左权县| 蒙城县| 顺昌县| 明光市| 辽宁省| 陕西省| 东阿县| 兰西县| 临潭县| 广河县| 于都县| 墨玉县| 淮安市|