UdpClient Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillhandahåller UDP-nätverkstjänster (User Datagram Protocol).
public ref class UdpClient : IDisposable
public class UdpClient : IDisposable
type UdpClient = class
interface IDisposable
Public Class UdpClient
Implements IDisposable
- Arv
-
UdpClient
- Implementeringar
Exempel
I följande exempel upprättas en UdpClient anslutning med värdnamnet www.contoso.com på port 11000. Ett litet strängmeddelande skickas till två separata fjärrvärddatorer. Metoden Receive blockerar körningen tills ett meddelande tas emot. Med hjälp av skickad IPEndPoint till Receivevisas identiteten för den svarande värden.
// This constructor arbitrarily assigns the local port number.
UdpClient udpClient = new UdpClient(11000);
try{
udpClient.Connect("www.contoso.com", 11000);
// Sends a message to the host to which you have connected.
Byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody there?");
udpClient.Send(sendBytes, sendBytes.Length);
// Sends a message to a different host using optional hostname and port parameters.
UdpClient udpClientB = new UdpClient();
udpClientB.Send(sendBytes, sendBytes.Length, "AlternateHostMachineName", 11000);
//IPEndPoint object will allow us to read datagrams sent from any source.
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
// Blocks until a message returns on this socket from a remote host.
Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);
string returnData = Encoding.ASCII.GetString(receiveBytes);
// Uses the IPEndPoint object to determine which of these two hosts responded.
Console.WriteLine("This is the message you received " +
returnData.ToString());
Console.WriteLine("This message was sent from " +
RemoteIpEndPoint.Address.ToString() +
" on their port number " +
RemoteIpEndPoint.Port.ToString());
udpClient.Close();
udpClientB.Close();
}
catch (Exception e ) {
Console.WriteLine(e.ToString());
}
' This constructor arbitrarily assigns the local port number.
Dim udpClient As New UdpClient(11000)
Try
udpClient.Connect("www.contoso.com", 11000)
' Sends a message to the host to which you have connected.
Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("Is anybody there?")
udpClient.Send(sendBytes, sendBytes.Length)
' Sends message to a different host using optional hostname and port parameters.
Dim udpClientB As New UdpClient()
udpClientB.Send(sendBytes, sendBytes.Length, "AlternateHostMachineName", 11000)
' IPEndPoint object will allow us to read datagrams sent from any source.
Dim RemoteIpEndPoint As New IPEndPoint(IPAddress.Any, 0)
' UdpClient.Receive blocks until a message is received from a remote host.
Dim receiveBytes As [Byte]() = udpClient.Receive(RemoteIpEndPoint)
Dim returnData As String = Encoding.ASCII.GetString(receiveBytes)
' Which one of these two hosts responded?
Console.WriteLine(("This is the message you received " + _
returnData.ToString()))
Console.WriteLine(("This message was sent from " + _
RemoteIpEndPoint.Address.ToString() + _
" on their port number " + _
RemoteIpEndPoint.Port.ToString()))
udpClient.Close()
udpClientB.Close()
Catch e As Exception
Console.WriteLine(e.ToString())
End Try
End Sub
Kommentarer
Klassen UdpClient innehåller enkla metoder för att skicka och ta emot anslutningslösa UDP-datagram i blockerande synkront läge. Eftersom UDP är ett anslutningslöst transportprotokoll behöver du inte upprätta en fjärrvärdanslutning innan du skickar och tar emot data. Du har dock möjlighet att etablera en standardvärd på något av följande två sätt:
Skapa en instans av UdpClient klassen med fjärrvärdens namn och portnummer som parametrar.
Skapa en instans av UdpClient klassen och anropa Connect sedan metoden.
Du kan använda någon av de sändningsmetoder som anges i UdpClient för att skicka data till en fjärrenhet. Receive Använd metoden för att ta emot data från fjärrvärdar.
Note
Anropa Send inte med ett värdnamn eller IPEndPoint om du redan har angett en fjärrvärd som standard. Om du gör det utlöser UdpClient du ett undantag.
UdpClient med metoder kan du också skicka och ta emot multicast-datagram. Använd metoden JoinMulticastGroup för att prenumerera på en UdpClient multicast-grupp. Använd metoden för att avbryta prenumerationen DropMulticastGroupUdpClient från en multicast-grupp.
Konstruktorer
| Name | Description |
|---|---|
| UdpClient() |
Initierar en ny instans av UdpClient klassen. |
| UdpClient(AddressFamily) |
Initierar en ny instans av UdpClient klassen. |
| UdpClient(Int32, AddressFamily) |
Initierar en ny instans av UdpClient klassen och binder den till det lokala portnummer som anges. |
| UdpClient(Int32) |
Initierar en ny instans av UdpClient klassen och binder den till det lokala portnummer som anges. |
| UdpClient(IPEndPoint) |
Initierar en ny instans av UdpClient klassen och binder den till den angivna lokala slutpunkten. |
| UdpClient(String, Int32) |
Initierar en ny instans av UdpClient klassen och etablerar en fjärrvärd som standard. |
Egenskaper
| Name | Description |
|---|---|
| Active |
Hämtar eller anger ett värde som anger om en standardvärd har upprättats. |
| Available |
Hämtar den mängd data som tas emot från nätverket som är tillgängligt för läsning. |
| Client |
Hämtar eller anger det underliggande nätverket Socket. |
| DontFragment |
Hämtar eller anger ett Boolean värde som anger om UdpClient tillåtna IP-datagram (Internet Protocol) ska fragmenteras. |
| EnableBroadcast |
Hämtar eller anger ett Boolean värde som anger om sändningspaket kan UdpClient skickas. |
| ExclusiveAddressUse |
Hämtar eller anger ett Boolean värde som anger om endast UdpClient en klient kan använda en port. |
| MulticastLoopback |
Hämtar eller anger ett Boolean värde som anger om utgående multicast-paket levereras till det sändande programmet. |
| Ttl |
Hämtar eller anger ett värde som anger TTL-värdet (Time to Live) för IP-paket (Internet Protocol) som skickas av UdpClient. |
Metoder
| Name | Description |
|---|---|
| AllowNatTraversal(Boolean) |
Aktiverar eller inaktiverar NAT-bläddering (Network Address Translation) på en UdpClient instans. |
| BeginReceive(AsyncCallback, Object) |
Tar emot ett datagram från en fjärrvärd asynkront. |
| BeginSend(Byte[], Int32, AsyncCallback, Object) |
Skickar ett datagram till en fjärrvärd asynkront. Målet angavs tidigare av ett anrop till Connect. |
| BeginSend(Byte[], Int32, IPEndPoint, AsyncCallback, Object) |
Skickar ett datagram till ett mål asynkront. Målet anges av en EndPoint. |
| BeginSend(Byte[], Int32, String, Int32, AsyncCallback, Object) |
Skickar ett datagram till ett mål asynkront. Målet anges av värdnamnet och portnumret. |
| Close() |
Stänger UDP-anslutningen. |
| Connect(IPAddress, Int32) |
Upprättar en standardvärd med den angivna IP-adressen och portnumret. |
| Connect(IPEndPoint) |
Upprättar en standardvärd med hjälp av den angivna nätverksslutpunkten. |
| Connect(String, Int32) |
Upprättar en standardvärd med det angivna värdnamnet och portnumret. |
| Dispose() |
Släpper de hanterade och ohanterade resurser som används av UdpClient. |
| Dispose(Boolean) |
Släpper de ohanterade resurser som används av UdpClient och släpper eventuellt de hanterade resurserna. |
| DropMulticastGroup(IPAddress, Int32) |
Lämnar en multicast-grupp. |
| DropMulticastGroup(IPAddress) |
Lämnar en multicast-grupp. |
| EndReceive(IAsyncResult, IPEndPoint) |
Avslutar en väntande asynkron mottagning. |
| EndSend(IAsyncResult) |
Avslutar en väntande asynkron sändning. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| JoinMulticastGroup(Int32, IPAddress) |
Lägger till en UdpClient i en multicast-grupp. |
| JoinMulticastGroup(IPAddress, Int32) |
Lägger till en UdpClient till en multicast-grupp med angiven TTL (Time to Live). |
| JoinMulticastGroup(IPAddress, IPAddress) |
Lägger till en UdpClient i en multicast-grupp. |
| JoinMulticastGroup(IPAddress) |
Lägger till en UdpClient i en multicast-grupp. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| Receive(IPEndPoint) |
Returnerar ett UDP-datagram som skickades av en fjärrvärd. |
| ReceiveAsync() |
Returnerar ett UDP-datagram asynkront som skickades av en fjärrvärd. |
| Send(Byte[], Int32, IPEndPoint) |
Skickar ett UDP-datagram till värden vid den angivna fjärrslutpunkten. |
| Send(Byte[], Int32, String, Int32) |
Skickar ett UDP-datagram till en angiven port på en angiven fjärrvärd. |
| Send(Byte[], Int32) |
Skickar ett UDP-datagram till en fjärrvärd. |
| SendAsync(Byte[], Int32, IPEndPoint) |
Skickar ett UDP-datagram asynkront till en fjärrvärd. |
| SendAsync(Byte[], Int32, String, Int32) |
Skickar ett UDP-datagram asynkront till en fjärrvärd. |
| SendAsync(Byte[], Int32) |
Skickar ett UDP-datagram asynkront till en fjärrvärd. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden. Släpper alla resurser som används av UdpClient. |