C 網路程式設計 UDP應用程式設計簡介

2021-10-08 19:18:39 字數 2524 閱讀 1970

udp(user datagram protocol,使用者資料報協議)是乙個簡單的、面向資料報的無連線協議,提供了快速但不一定可靠的傳輸服務。

位於system.net.sockets命名空間下

udpclient類提供了傳送和接收無連線的udp資料報的方便的方法。封裝了底層的套接字,並分別提供了對套接字進一步封裝後的同步和非同步操作的方法,降低了udp應用程式設計的難度。

與tcp協議有tcplistener類和tcpclient類不同,udp協議只有udpclient類,這是因為udp協議是無連線的協議,所以只需要一種socket。

建構函式有四種過載形式。編寫客戶端程式時,

常用形式為:dpclient udpclient=new udpclient(「www.abcd.com」, 51888)

它相當於:

編寫基於udp的應用程式時,關鍵在於如何實現資料的傳送和接收。由於udp不需要建立連線,因此可以在任何時候直接向網路中的任意主機傳送udp資料。在同步阻塞方式下,可以使用

udpclient物件的send方法和receive方法。

send:可直接將資料傳送到遠端主機,並返回傳送資料的長度,send方法傳送資料的型別為byte陣列。

(1)udpclient.send (byte, int32)

byte:指定傳送的資料

int32:傳送資料的資料長度

說明:這種過載形式假定udp客戶端已經通過connect方法指定了預設的遠端主機,或者在例項化udpclient時已經指定了遠端伺服器的ip和埠

(2)udpclient.send (byte, int32, ipendpoint)

將 udp資料報傳送到位於指定遠端終結點的主機。

byte:待發送到遠端主機的資料

int32: 待發送到遠端主機的資料長度

ipendpoint :遠端主機端點,包含了應用程式連線到主 機上的服務所需的ip位址和埠資訊。

說明:使用這種方法時,通過將ipendpoint的address屬性指

定為socketoptionname.broadcast,可將資料報傳送到預設

廣播位址255.255.255.255。

(3)udpclient.send(byte,int32, string, int32)

將udp資料報傳送到指定的遠端主機上的指定埠。

byte:待發送到遠端主機的資料

int32:待發送到遠端主機的資料長度

string:遠端主機名

int32: 埠

說明:使用這種方法時,不能用connect建立預設遠端主機,否則將引發異常。另外,如果將hostname引數值指定為

「255.255.255.255」,可將資料報傳送到預設廣播位址

udpclient myudpclient =

newudpclient()

;try

catch

(exception err)

udpclient物件的receive方法用於獲取從從遠端主機傳送的udp資料報。語法形式如下:

public byte receive(ref ipendpoint remoteep)

ipendpoint引數:表示傳送方的ip位址和埠號

返回值:為接收到的位元組陣列。

注意:利用此方法既可以接收指定遠端主機的資料報,也可以接收所有遠端主機的資料報。

如接收所有遠端主機發的資料報,可用下面的**建立:

ipendpoint remoteipendpoint = new ipendpoint(ipaddress.any, 0);

ipaddress.any表示對方的ip位址可以是任何ip位址

0表示對方的埠號可以是任何埠號。

udpclient udpclient =

newudpclient

(dns.

gethostaddresses

(dns.

gethostname()

)[0]

,18001);

ipendpoint remoteipendpoint =

newipendpoint

(ipaddress.any,0)

;try

catch

(exception e )

IAP 應用程式設計

1 檢查是否需要對第二部分 進行更新 2 如果不需要更新則轉到4 3 執行更新操作 4 跳轉到第二部分 執行 第一部分 必須通過其它手段,如jtag或isp燒入 第二部分 可以使用第一部分 iap功能燒入,也可以和第一部分 一道燒入,以後需要程式更新是再通過第一部分iap 更新。對於stm32來說,...

串列埠應用程式設計

include include 標準輸入輸出定義 include 標準函式庫定義 include unix 標準函式定義 include include include 檔案控制定義 include ppsix 終端控制定義 include 錯誤號定義 include include include...

linux應用程式設計和網路程式設計擴充套件 守護程序

守護程序 1 daemon,表示守護程序,簡稱為d 程序名後面帶d的基本就是守護程序 2 長期執行 一般是開機執行直到關機時關閉 3 與控制台脫離 普通程序都和執行該程序的控制台相繫結,表現為如果終端被強制關閉了則這個終端中執行的所有程序都被會關閉,背後的問題還在於會話 4 伺服器 server 伺...