天天看點

[C# 網絡程式設計系列]專題七:UDP程式設計補充——UDP廣播程式的實作

上次因為時間的關系,是以把上一個專題遺留下的一個問題在本專題中和大家分享下,本專題主要介紹下如何實作UDP廣播的程式,下面就直接介紹實作過程和代碼以及運作的結果。

一、程式實作

UDP廣播程式的實作代碼:

廣播示範結果(接收端直接點接收按鈕後開啟接受線程,在發送端勾選“廣播選項”輸入發送資訊點發送按鈕後的界面如下):

下面通過把接收端加入組後的結果,首先終止接收線程,然後勾選“加入組”複選框,然後單擊“接收”按鈕重新開啟接收線程,輸出結果如下:

從廣播示範的兩個情況可以看出廣播消息會同時向網上的一切程序轉發,無論這個程序是獨立的還是加入了某個多點傳播組中的程序,都可以接收廣播消息

下面示範下多點傳播的結果:

如果把接收端的組位址改為224.0.0.3時,此時發送端發送的消息“多點傳播示範2”将不會發送到不同的多點傳播位址,則接收端就接收不到此時的消息。

從多點傳播結果中可以看出隻有加入多點傳播位址224.0.0.2的程序才能接收到資訊。

需要注意的地方是:從前面的截圖中可以看出,不論是廣播還是多點傳播,僅僅從收到的資訊無從知道發送給它的程序的端口号,是以廣播群組播消息都是匿名發送,并且通過對UDP廣播群組播的了解可以簡單實作一個消息群發的功能(QQ的群裡聊天就是這個原理)。

二、 總結

本專題主要是針對上一專題的補充——實作一個簡單的UDP廣播(多點傳播)程式,通過這樣一個發送端可以發送給在多點傳播位址中的所有使用者和所有子網中的所有使用者。本專題可以說是對UDP程式設計的一個擴充吧,希望大家看了本專題後可以對UDP協定有大緻的了解。在下一個專題中會和大家介紹下P2P程式設計的相關知識。

<a href="http://down.51cto.com/data/2361662" target="_blank">附件:http://down.51cto.com/data/2361662</a>

     本文轉自LearningHard 51CTO部落格,原文連結:http://blog.51cto.com/learninghard/1038670,如需轉載請自行聯系原作者