Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe UdpClient

Vengono forniti servizi di rete UDP (User Datagram Protocol).

System.Object
  System.Net.Sockets.UdpClient

Spazio dei nomi:  System.Net.Sockets
Assembly:  System (in System.dll)

public class UdpClient : IDisposable

Il tipo UdpClient espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoUdpClient()Inizializza una nuova istanza della classe UdpClient.
Metodo pubblicoUdpClient(AddressFamily)Inizializza una nuova istanza della classe UdpClient.
Metodo pubblicoUdpClient(Int32)Inizializza una nuova istanza della classe UdpClient e la associa al numero di porta locale fornito.
Metodo pubblicoUdpClient(IPEndPoint)Inizializza una nuova istanza della classe UdpClient e la associa all'endpoint locale specificato.
Metodo pubblicoUdpClient(Int32, AddressFamily)Inizializza una nuova istanza della classe UdpClient e la associa al numero di porta locale fornito.
Metodo pubblicoUdpClient(String, Int32)Inizializza una nuova istanza della classe UdpClient e stabilisce un host remoto predefinito.
In alto

  NomeDescrizione
Proprietà protetta.ActiveOttiene o imposta un valore che indica se è stato stabilito un host remoto predefinito.
Proprietà pubblicaAvailableOttiene la quantità di dati ricevuti dalla rete disponibili per essere letti.
Proprietà pubblicaClientOttiene o imposta l'oggetto Socket di rete sottostante.
Proprietà pubblicaDontFragmentOttiene o imposta un valore Boolean che specifica se la classe UdpClient consente la frammentazione dei datagrammi IP (Internet Protocol).
Proprietà pubblicaEnableBroadcastOttiene o imposta un valore Boolean che specifica se la classe UdpClient può inviare o ricevere pacchetti broadcast.
Proprietà pubblicaExclusiveAddressUseOttiene o imposta un valore Boolean che specifica se la classe UdpClient consente a un unico client di utilizzare una porta.
Proprietà pubblicaMulticastLoopbackOttiene o imposta un valore Boolean che specifica se i pacchetti multicast in uscita devono essere recapitati all'applicazione mittente.
Proprietà pubblicaTtlOttiene o imposta un valore che specifica la durata (TTL) dei pacchetti IP inviati dall'oggetto UdpClient.
In alto

  NomeDescrizione
Metodo pubblicoAllowNatTraversalAbilita o disabilita l'attraversamento NAT (Network Address Translation) in un'istanza di UdpClient.
Metodo pubblicoBeginReceiveRiceve un datagramma da un host remoto in modalità asincrona.
Metodo pubblicoBeginSend(Byte[], Int32, AsyncCallback, Object)Invia un datagramma a un host remoto in modalità asincrona. La destinazione è stata specificata precedentemente da una chiamata al metodo Connect.
Metodo pubblicoBeginSend(Byte[], Int32, IPEndPoint, AsyncCallback, Object)Invia un datagramma a una destinazione in modalità asincrona. La destinazione è specificata da una classe EndPoint.
Metodo pubblicoBeginSend(Byte[], Int32, String, Int32, AsyncCallback, Object)Invia un datagramma a una destinazione in modalità asincrona. La destinazione è specificata mediante il nome dell'host e il numero di porta.
Metodo pubblicoCloseChiude la connessione UDP.
Metodo pubblicoConnect(IPEndPoint)Stabilisce un host remoto predefinito utilizzando l'endpoint di rete specificato.
Metodo pubblicoConnect(IPAddress, Int32)Stabilisce un host remoto predefinito utilizzando l'indirizzo IP e il numero di porta specificati.
Metodo pubblicoConnect(String, Int32)Stabilisce un host remoto predefinito utilizzando il nome host e il numero di porta specificati.
Metodo protettoDisposeRilascia le risorse non gestite utilizzate da UdpClient e, facoltativamente, le risorse gestite.
Metodo pubblicoDropMulticastGroup(IPAddress)Esce da un gruppo multicast.
Metodo pubblicoDropMulticastGroup(IPAddress, Int32)Esce da un gruppo multicast.
Metodo pubblicoEndReceiveTermina una ricezione asincrona in attesa.
Metodo pubblicoEndSendTermina un invio asincrono in attesa.
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoJoinMulticastGroup(IPAddress)Aggiunge una classe UdpClient a un gruppo multicast.
Metodo pubblicoJoinMulticastGroup(Int32, IPAddress)Aggiunge una classe UdpClient a un gruppo multicast.
Metodo pubblicoJoinMulticastGroup(IPAddress, Int32)Aggiunge una classe UdpClient a un gruppo multicast con il Time to Live (TTL) specificato.
Metodo pubblicoJoinMulticastGroup(IPAddress, IPAddress)Aggiunge una classe UdpClient a un gruppo multicast.
Metodo protettoMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoReceiveRestituisce un datagramma UDP che era stato inviato da un host remoto.
Metodo pubblicoReceiveAsyncRestituisce in modo asincrono un datagramma UDP inviato da un host remoto.
Metodo pubblicoSend(Byte[], Int32)Invia un datagramma UDP a un host remoto.
Metodo pubblicoSend(Byte[], Int32, IPEndPoint)Invia un datagramma UDP all'host nell'endpoint remoto specificato.
Metodo pubblicoSend(Byte[], Int32, String, Int32)Invia un datagramma UDP a una porta specificata su un host remoto specificato.
Metodo pubblicoSendAsync(Byte[], Int32)Invia un datagramma UDP in modo asincrono a un host remoto.
Metodo pubblicoSendAsync(Byte[], Int32, IPEndPoint)Invia un datagramma UDP in modo asincrono a un host remoto.
Metodo pubblicoSendAsync(Byte[], Int32, String, Int32)Invia un datagramma UDP in modo asincrono a un host remoto.
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privatoIDisposable.DisposeInfrastruttura. Rilascia tutte le risorse utilizzate dall'oggetto UdpClient.
In alto

La classe UdpClient fornisce metodi semplici per l'invio e la ricezione senza connessione di datagrammi UDP in modalità di blocco sincrono. Poiché UDP è un protocollo di trasporto non orientato alle connessioni, non è necessario stabilire una connessione all'host remoto prima di inviare e ricevere dati. È possibile, tuttavia, stabilire un host remoto predefinito effettuando una delle seguenti operazioni:

  • Creare un'istanza della classe UdpClient utilizzando il nome host remoto e il numero di porta come parametri.

  • Creare un'istanza della classe UdpClient e chiamare il metodo Connect.

È possibile utilizzare uno qualsiasi dei metodi di invio forniti nella classe UdpClient per inviare i dati a una periferica remota. Per ricevere i dati da host remoti, utilizzare il metodo Receive.

NotaNota

Non è consigliabile chiamare il metodo Send con un nome host o con la classe IPEndPoint se è già stato specificato un host remoto predefinito. In tal caso, la classe UdpClient genererà un'eccezione.

I metodi UdpClient consentono anche di inviare e ricevere datagrammi multicast. Utilizzare il metodo JoinMulticastGroup per sottoscrivere una classe UdpClient a un gruppo multicast. Utilizzare il metodo DropMulticastGroup per annullare la sottoscrizione di una classe UdpClient a un gruppo multicast.

Nell'esempio riportato di seguito viene stabilito un insieme UdpClient mediante il nome host www.contoso.com sulla porta 11000. Un piccolo messaggio stringa viene inviato a due computer host remoti separati. Il metodo Receive interrompe l'esecuzione fino a quando il messaggio non viene ricevuto. Utilizzando la classe IPEndPoint passata al metodo Receive, viene rivelata l'identità dell'host che risponde.


// 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());
        }


.NET Framework

Supportato in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

  • SocketPermission 

    Per stabilire una connessione in uscita o accettare una richiesta in arrivo.

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro pubblico static (Shared in Visual Basic) di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft