UdpClient Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
User Datagram Protocol (UDP) hálózati szolgáltatásokat biztosít.
public ref class UdpClient : IDisposable
public class UdpClient : IDisposable
type UdpClient = class
interface IDisposable
Public Class UdpClient
Implements IDisposable
- Öröklődés
-
UdpClient
- Megvalósítás
Példák
Az alábbi példa egy UdpClient kapcsolatot hoz létre az 11000-s port gazdagépnevével www.contoso.com . A rendszer egy kis sztringüzenetet küld két különálló távoli gazdagépnek. A Receive metódus letiltja a végrehajtást, amíg egy üzenet nem érkezik. Az IPEndPoint átadott Receiveadatok használatával a rendszer felfedi a válaszadó gazdagép identitását.
// 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
Megjegyzések
Az UdpClient osztály egyszerű módszereket kínál a kapcsolat nélküli UDP-adatgramok küldésére és fogadására szinkron módban való blokkoláshoz. Mivel az UDP kapcsolat nélküli átviteli protokoll, nem kell távoli gazdakapcsolatot létesítenie az adatok küldése és fogadása előtt. Lehetősége van azonban az alapértelmezett távoli gazdagép létrehozására az alábbi két módszer egyikével:
Hozzon létre egy példányt az UdpClient osztályból a távoli gazdagép nevével és portszámával paraméterekként.
Hozza létre az osztály egy példányát UdpClient , majd hívja meg a metódust Connect .
A megadott küldési módok UdpClient bármelyikével adatokat küldhet távoli eszközre. A metódussal Receive adatokat fogadhat távoli gazdagépekről.
Note
Ne hívjon Send gazdagépnévvel, vagy IPEndPoint ha már megadott egy alapértelmezett távoli gazdagépet. Ha igen, UdpClient kivételt fog tenni.
UdpClient metódusokkal csoportos küldésű datagramokat is küldhet és fogadhat. Ezzel a JoinMulticastGroup módszerrel előfizethet egy UdpClient csoportos küldési csoportra. Ezzel a DropMulticastGroup módszerrel leiratkozhat egy UdpClient csoportos küldési csoportról.
Konstruktorok
| Name | Description |
|---|---|
| UdpClient() |
Inicializálja a UdpClient osztály új példányát. |
| UdpClient(AddressFamily) |
Inicializálja a UdpClient osztály új példányát. |
| UdpClient(Int32, AddressFamily) |
Inicializálja az UdpClient osztály új példányát, és a megadott helyi portszámhoz köti. |
| UdpClient(Int32) |
Inicializálja az UdpClient osztály új példányát, és a megadott helyi portszámhoz köti. |
| UdpClient(IPEndPoint) |
Inicializálja az UdpClient osztály új példányát, és a megadott helyi végponthoz köti. |
| UdpClient(String, Int32) |
Inicializálja az UdpClient osztály új példányát, és létrehoz egy alapértelmezett távoli gazdagépet. |
Tulajdonságok
| Name | Description |
|---|---|
| Active |
Lekéri vagy beállít egy értéket, amely jelzi, hogy létrejött-e egy alapértelmezett távoli gazdagép. |
| Available |
Lekéri a hálózatról érkező, olvasható adatok mennyiségét. |
| Client |
Lekéri vagy beállítja a mögöttes hálózatot Socket. |
| DontFragment |
Lekéri vagy beállít egy Boolean értéket, amely meghatározza, hogy az UdpClient IP-adatgramok töredezettek-e. |
| EnableBroadcast |
Lekéri vagy beállít egy Boolean értéket, amely meghatározza, hogy a UdpClient rendszer küldhet-e szórásos csomagokat. |
| ExclusiveAddressUse |
Lekéri vagy beállít egy Boolean értéket, amely meghatározza, hogy csak UdpClient egy ügyfél használhat-e portot. |
| MulticastLoopback |
Lekéri vagy beállít egy Boolean értéket, amely meghatározza, hogy a kimenő csoportos küldési csomagok kézbesítve legyenek-e a küldő alkalmazásnak. |
| Ttl |
Lekéri vagy beállítja azt az értéket, amely megadja az Internet Protocol -csomagok (IP-) csomagjainak Élettartam (TTL) értékét.UdpClient |
Metódusok
| Name | Description |
|---|---|
| AllowNatTraversal(Boolean) |
Engedélyezi vagy letiltja a hálózati címfordítási (NAT) bejárást egy UdpClient példányon. |
| BeginReceive(AsyncCallback, Object) |
Datagramot fogad egy távoli gazdagéptől aszinkron módon. |
| BeginSend(Byte[], Int32, AsyncCallback, Object) |
Datagramot küld egy távoli gazdagépnek aszinkron módon. A célhelyet korábban egy hívás adta meg.Connect |
| BeginSend(Byte[], Int32, IPEndPoint, AsyncCallback, Object) |
Aszinkron módon küld egy datagramot egy célhelyre. A célhelyet egy EndPoint. |
| BeginSend(Byte[], Int32, String, Int32, AsyncCallback, Object) |
Aszinkron módon küld egy datagramot egy célhelyre. A célhelyet a gazdagép neve és portszáma adja meg. |
| Close() |
Bezárja az UDP-kapcsolatot. |
| Connect(IPAddress, Int32) |
Létrehoz egy alapértelmezett távoli gazdagépet a megadott IP-cím és portszám használatával. |
| Connect(IPEndPoint) |
Létrehoz egy alapértelmezett távoli gazdagépet a megadott hálózati végpont használatával. |
| Connect(String, Int32) |
Létrehoz egy alapértelmezett távoli gazdagépet a megadott gazdagépnév és portszám használatával. |
| Dispose() |
Felszabadítja a felügyelt és nem felügyelt erőforrásokat, amelyeket a UdpClient. |
| Dispose(Boolean) |
Felszabadítja a felügyelt erőforrások által UdpClient használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat. |
| DropMulticastGroup(IPAddress, Int32) |
Csoportos küldési csoportot hagy. |
| DropMulticastGroup(IPAddress) |
Csoportos küldési csoportot hagy. |
| EndReceive(IAsyncResult, IPEndPoint) |
Befejez egy függőben lévő aszinkron fogadást. |
| EndSend(IAsyncResult) |
Befejez egy függőben lévő aszinkron küldést. |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| JoinMulticastGroup(Int32, IPAddress) |
Hozzáad egy UdpClient csoportos küldési csoporthoz. |
| JoinMulticastGroup(IPAddress, Int32) |
A megadott élettartammal (TTL) rendelkező csoportos küldési csoporthoz ad hozzá egy UdpClient elemet. |
| JoinMulticastGroup(IPAddress, IPAddress) |
Hozzáad egy UdpClient csoportos küldési csoporthoz. |
| JoinMulticastGroup(IPAddress) |
Hozzáad egy UdpClient csoportos küldési csoporthoz. |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| Receive(IPEndPoint) |
Egy távoli gazdagép által küldött UDP-adatgramot ad vissza. |
| ReceiveAsync() |
Egy távoli gazdagép által küldött aszinkron UDP-datagramot ad vissza. |
| ReceiveAsync(CancellationToken) |
Egy távoli gazdagép által küldött aszinkron UDP-datagramot ad vissza. |
| Send(Byte[], Int32, IPEndPoint) |
UDP-adatgramot küld a gazdagépnek a megadott távoli végponton. |
| Send(Byte[], Int32, String, Int32) |
UDP-adatgramot küld egy megadott távoli gazdagép megadott portjára. |
| Send(Byte[], Int32) |
UDP datagramot küld egy távoli gazdagépnek. |
| Send(ReadOnlySpan<Byte>, IPEndPoint) |
UDP-adatgramot küld a gazdagépnek a megadott távoli végponton. |
| Send(ReadOnlySpan<Byte>, String, Int32) |
UDP-adatgramot küld egy megadott távoli gazdagép megadott portjára. |
| Send(ReadOnlySpan<Byte>) |
UDP datagramot küld egy távoli gazdagépnek. |
| SendAsync(Byte[], Int32, IPEndPoint) |
UDP datagramot aszinkron módon küld egy távoli gazdagépnek. |
| SendAsync(Byte[], Int32, String, Int32) |
UDP datagramot aszinkron módon küld egy távoli gazdagépnek. |
| SendAsync(Byte[], Int32) |
UDP datagramot aszinkron módon küld egy távoli gazdagépnek. |
| SendAsync(ReadOnlyMemory<Byte>, CancellationToken) |
UDP datagramot aszinkron módon küld egy távoli gazdagépnek. |
| SendAsync(ReadOnlyMemory<Byte>, IPEndPoint, CancellationToken) |
UDP datagramot aszinkron módon küld egy távoli gazdagépnek. |
| SendAsync(ReadOnlyMemory<Byte>, String, Int32, CancellationToken) |
UDP datagramot aszinkron módon küld egy távoli gazdagépnek. |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Ez az API a termékinfrastruktúrát támogatja, és közvetlenül a kódból nem használható. Felszabadítja a .-hez használt összes erőforrást UdpClient. |