程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#使用UDP Client編寫聊天程序(1)

C#使用UDP Client編寫聊天程序(1)

編輯:關於C語言

UDPClIEnt 類使用 UDP 與網絡服務通訊。UDP 的優點是簡單易用,並且能夠同時向多個地址廣播消息。但由於 UDP 協議是一個無連接協議,因此發送到遠程終結點的 UDP 數據文報不一定能夠到達,也不一定能夠以發送的相同順序到達。使用 UDP 的應用程序必須准備處理丟失的和順序有誤的數據文報。

若要使用 UDP 發送數據文報,必須知道承載所需服務的網絡設備的網絡地址以及該服務用於通訊的 UDP 端口號。

特殊網絡地址用於支持基於 IP 的網絡上的 UDP 廣播消息。下面探討的內容以 Internet 上使用的 IP 版本 4 地址族作為示例。

IP 版本 4 地址使用 32 位指定網絡地址。對於使用 255.255.255.0 網絡掩碼的 C 類地址,這些位被分為四個八位字節。當以十進制數表示時,這四個八位字節構成熟悉的以點分隔的四部分表示法,如 192.168.100.2。前兩個八位字節(此示例中為 192.168)構成網絡號;第三個八位字節 (100) 定義子網;最後一個八位字節 (2) 是主機標識符。

將 IP 地址的所有位均設置為 1(即 255.255.255.255)可構成有限的廣播地址。將 UDP 數據文報發送到此地址可將消息傳遞到該廣播網絡上的任何主機。由於路由器從不轉發發送到此地址的消息,因此只有已連接的網絡上的主機才可看到這些廣播。

通過將部分地址的所有位全都設置為 1,可以將廣播定向到特定的網絡部分。例如,若要將廣播發送到以 192.168 打頭的 IP 地址標識的網絡上的所有主機,請將地址的子網和主機部分全都設置為 1,如 192.168.255.255。若要將廣播限制在單個子網,則只將主機部分設置全都為 1,如 192.168.100.255。

UdpClIEnt 類可向任何網絡廣播地址廣播,但它無法偵聽發送到網絡的廣播。必須使用 Socket 類才能偵聽網絡廣播。

當所有接收者都位於單個網絡中時,或者當許多客戶端需要接收廣播時,廣播地址將起作用。當接收者為網絡的一小部分時,應將消息發送到多路廣播組,在那裡只有加入此組的客戶端才能接收到消息。范圍從 224.0.0.2 到 244.255.255.255 的 IP 地址保留為主機組地址。IP 號 224.0.0.0 被保留,而 224.0.0.1 分配給所有 IP 主機的固定組。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved