Socket.Bind(EndPoint) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Associa un oggetto Socket a un endpoint locale.
public:
void Bind(System::Net::EndPoint ^ localEP);
public void Bind(System.Net.EndPoint localEP);
member this.Bind : System.Net.EndPoint -> unit
Public Sub Bind (localEP As EndPoint)
Parametri
Eccezioni
localEP è null.
Si è verificato un errore durante il tentativo di accesso al socket.
L'oggetto Socket è stato chiuso.
Un chiamante superiore nello stack di chiamate non dispone dell'autorizzazione per l'operazione richiesta.
Esempio
Nell'esempio di codice seguente viene associato un Socket oggetto usando l'endpoint locale specificato.
try {
aSocket.Bind(anEndPoint);
}
catch (Exception e) {
Console.WriteLine("Winsock error: " + e.ToString());
}
Try
aSocket.Bind(anEndPoint)
Catch e As Exception
Console.WriteLine("Winsock error: " & e.ToString())
End Try
Commenti
Usare il Bind metodo se è necessario usare un endpoint locale specifico. È necessario chiamare prima di poter chiamare Bind il Listen metodo . Non è necessario chiamare Bind prima di usare il Connect metodo a meno che non sia necessario usare un endpoint locale specifico. È possibile usare il Bind metodo sia per i protocolli senza connessione che per i protocolli orientati alla connessione.
Prima di chiamare Bind, è necessario creare il locale IPEndPoint da cui si intende comunicare i dati. Se non è necessario specificare l'indirizzo locale assegnato, è possibile creare un IPEndPoint oggetto usando IPAddress.Any come parametro di indirizzo e il provider di servizi sottostante assegnerà l'indirizzo di rete più appropriato. Ciò può semplificare l'applicazione se sono presenti più interfacce di rete. Se non è importante quale porta locale viene usata, è possibile creare un IPEndPoint oggetto usando 0 per il numero di porta. In questo caso, il provider di servizi assegnerà un numero di porta disponibile compreso tra 1024 e 5000.
Se si usa l'approccio precedente, è possibile individuare l'indirizzo di rete locale e il numero di porta assegnati chiamando .LocalEndPoint Se si usa un protocollo orientato alla connessione, LocalEndPoint non restituirà l'indirizzo di rete assegnato localmente fino a quando non è stata effettuata una chiamata al Connect metodo o EndConnect . Se si usa un protocollo senza connessione, non si avrà accesso a queste informazioni finché non si è completato un invio o una ricezione.
Se un socket UDP vuole ricevere informazioni sull'interfaccia sui pacchetti ricevuti, il SetSocketOption metodo deve essere chiamato in modo esplicito con l'opzione socket impostata su PacketInformation immediatamente dopo aver chiamato il Bind metodo .
Annotazioni
Se si intende ricevere datagrammi multicast, è necessario chiamare il Bind metodo con un numero di porta multicast.
Annotazioni
È necessario chiamare il Bind metodo se si intende ricevere datagrammi senza connessione usando il ReceiveFrom metodo .
Annotazioni
Se si riceve un oggetto SocketException quando si chiama il Bind metodo , utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico. Dopo aver ottenuto questo codice, fare riferimento alla documentazione relativa al codice di errore dell'API Windows Sockets versione 2 per una descrizione dettagliata dell'errore.
Annotazioni
Questo membro restituisce informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.