Socket.GetSocketOption 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.
Restituisce il valore di un'opzione Socket .
Overload
| Nome | Descrizione |
|---|---|
| GetSocketOption(SocketOptionLevel, SocketOptionName) |
Restituisce il valore di un'opzione specificata Socket , rappresentata come oggetto . |
| GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) |
Restituisce l'impostazione dell'opzione specificata Socket , rappresentata come matrice di byte. |
| GetSocketOption(SocketOptionLevel, SocketOptionName, Int32) |
Restituisce il valore dell'opzione specificata Socket in una matrice. |
GetSocketOption(SocketOptionLevel, SocketOptionName)
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Restituisce il valore di un'opzione specificata Socket , rappresentata come oggetto .
public:
System::Object ^ GetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName);
public object? GetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName);
public object GetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName);
member this.GetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName -> obj
Public Function GetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName) As Object
Parametri
- optionLevel
- SocketOptionLevel
Uno dei SocketOptionLevel valori.
- optionName
- SocketOptionName
Uno dei SocketOptionName valori.
Restituisce
Oggetto che rappresenta il valore dell'opzione. Quando il optionName parametro è impostato sul Linger valore restituito è un'istanza della LingerOption classe . Quando optionName è impostato su AddMembership o DropMembership, il valore restituito è un'istanza della MulticastOption classe . Quando optionName è qualsiasi altro valore, il valore restituito è un numero intero.
Eccezioni
Si è verificato un errore durante il tentativo di accesso al socket.
oppure
optionName è stato impostato sul valore MaxConnectionsnon supportato.
L'oggetto Socket è stato chiuso.
Esempio
L'esempio di codice seguente recupera i LingerOption valori e Send timeout e li visualizza nella console.
Console.WriteLine("This application will timeout if Send does not return within " + Encoding.ASCII.GetString(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 4)));
// blocks until send returns
int i = s.Send(msg);
// blocks until read returns
byte[] bytes = new byte[1024];
s.Receive(bytes);
// Display to the screen
Console.WriteLine(Encoding.ASCII.GetString(bytes));
s.Shutdown(SocketShutdown.Both);
Console.WriteLine("If data remains to be sent, this application will stay open for " + ((LingerOption)s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger)).LingerTime.ToString());
s.Close();
Console.WriteLine(("This application will timeout if Send does not return within " + Encoding.ASCII.GetString(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 4))))
' blocks until send returns
Dim i As Integer = s.Send(msg)
' blocks until read returns
Dim bytes(1024) As Byte
s.Receive(bytes)
'Display to the screen
Console.WriteLine(Encoding.ASCII.GetString(bytes))
s.Shutdown(SocketShutdown.Both)
Console.WriteLine(("If data remains to be sent, this application will stay open for " + CType(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger), LingerOption).LingerTime.ToString()))
s.Close()
End Sub
Commenti
Socket le opzioni determinano il comportamento dell'oggetto corrente Socket. Usare questo overload per ottenere le Lingeropzioni , AddMembershipe DropMembershipSocket . Per l'opzione Linger usare Socket per il optionLevel parametro . Per AddMembership e DropMembership, usare IP. Se si desidera impostare il valore di una delle opzioni elencate in precedenza, usare il SetSocketOption metodo .
Annotazioni
Se si riceve un oggetto SocketException, 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.
Vedi anche
Si applica a
GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Restituisce l'impostazione dell'opzione specificata Socket , rappresentata come matrice di byte.
public:
void GetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, cli::array <System::Byte> ^ optionValue);
public void GetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, byte[] optionValue);
member this.GetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * byte[] -> unit
Public Sub GetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Byte())
Parametri
- optionLevel
- SocketOptionLevel
Uno dei SocketOptionLevel valori.
- optionName
- SocketOptionName
Uno dei SocketOptionName valori.
Eccezioni
Si è verificato un errore durante il tentativo di accesso al socket.
oppure
Nelle applicazioni .NET Compact Framework lo spazio buffer predefinito di Windows CE è impostato su 32768 byte. È possibile modificare lo spazio del buffer per socket chiamando SetSocketOption.
L'oggetto Socket è stato chiuso.
Esempio
L'esempio di codice seguente recupera i LingerOption valori e Send timeout e li visualizza nella console.
Console.WriteLine("This application will timeout if Send does not return within " + Encoding.ASCII.GetString(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 4)));
// blocks until send returns
int i = s.Send(msg);
// blocks until read returns
byte[] bytes = new byte[1024];
s.Receive(bytes);
// Display to the screen
Console.WriteLine(Encoding.ASCII.GetString(bytes));
s.Shutdown(SocketShutdown.Both);
Console.WriteLine("If data remains to be sent, this application will stay open for " + ((LingerOption)s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger)).LingerTime.ToString());
s.Close();
Console.WriteLine(("This application will timeout if Send does not return within " + Encoding.ASCII.GetString(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 4))))
' blocks until send returns
Dim i As Integer = s.Send(msg)
' blocks until read returns
Dim bytes(1024) As Byte
s.Receive(bytes)
'Display to the screen
Console.WriteLine(Encoding.ASCII.GetString(bytes))
s.Shutdown(SocketShutdown.Both)
Console.WriteLine(("If data remains to be sent, this application will stay open for " + CType(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger), LingerOption).LingerTime.ToString()))
s.Close()
End Sub
Commenti
Socket le opzioni determinano il comportamento dell'oggetto corrente Socket. Al termine di questo metodo, la matrice specificata dal optionValue parametro contiene il valore dell'opzione specificata Socket .
Quando la lunghezza della optionValue matrice è inferiore al numero di byte necessari per archiviare il valore dell'opzione specificata Socket , GetSocketOption genererà un'eccezione SocketException. Se si riceve un oggetto SocketException, 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. Usare questo overload per qualsiasi socket rappresentato da valori booleani o interi.
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.
Vedi anche
Si applica a
GetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Restituisce il valore dell'opzione specificata Socket in una matrice.
public:
cli::array <System::Byte> ^ GetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, int optionLength);
public byte[] GetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, int optionLength);
member this.GetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * int -> byte[]
Public Function GetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionLength As Integer) As Byte()
Parametri
- optionLevel
- SocketOptionLevel
Uno dei SocketOptionLevel valori.
- optionName
- SocketOptionName
Uno dei SocketOptionName valori.
- optionLength
- Int32
Lunghezza, in byte, del valore restituito previsto.
Restituisce
Matrice di tipo Byte che contiene il valore dell'opzione socket.
Eccezioni
Si è verificato un errore durante il tentativo di accesso al socket.
oppure
Nelle applicazioni .NET Compact Framework lo spazio buffer predefinito di Windows CE è impostato su 32768 byte. È possibile modificare lo spazio del buffer per socket chiamando SetSocketOption.
L'oggetto Socket è stato chiuso.
Esempio
L'esempio di codice seguente recupera i LingerOption valori e Send timeout e li visualizza nella console.
Console.WriteLine("This application will timeout if Send does not return within " + Encoding.ASCII.GetString(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 4)));
// blocks until send returns
int i = s.Send(msg);
// blocks until read returns
byte[] bytes = new byte[1024];
s.Receive(bytes);
// Display to the screen
Console.WriteLine(Encoding.ASCII.GetString(bytes));
s.Shutdown(SocketShutdown.Both);
Console.WriteLine("If data remains to be sent, this application will stay open for " + ((LingerOption)s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger)).LingerTime.ToString());
s.Close();
Console.WriteLine(("This application will timeout if Send does not return within " + Encoding.ASCII.GetString(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 4))))
' blocks until send returns
Dim i As Integer = s.Send(msg)
' blocks until read returns
Dim bytes(1024) As Byte
s.Receive(bytes)
'Display to the screen
Console.WriteLine(Encoding.ASCII.GetString(bytes))
s.Shutdown(SocketShutdown.Both)
Console.WriteLine(("If data remains to be sent, this application will stay open for " + CType(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger), LingerOption).LingerTime.ToString()))
s.Close()
End Sub
Commenti
Il optionLength parametro imposta la dimensione massima della matrice di byte restituita. Se il valore dell'opzione richiede meno byte, la matrice conterrà solo i byte. Se il valore dell'opzione richiede più byte, GetSocketOption genererà un'eccezione SocketException. Usare questo overload per qualsiasi socket rappresentato da valori booleani o interi.
Annotazioni
Se si riceve un oggetto SocketException, 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.