Socket.GetSocketOption Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne la valeur d’une Socket option.
Surcharges
| Nom | Description |
|---|---|
| GetSocketOption(SocketOptionLevel, SocketOptionName) |
Retourne la valeur d’une option spécifiée Socket , représentée en tant qu’objet. |
| GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) |
Retourne le paramètre d’option spécifié Socket , représenté sous la forme d’un tableau d’octets. |
| GetSocketOption(SocketOptionLevel, SocketOptionName, Int32) |
Retourne la valeur de l’option spécifiée Socket dans un tableau. |
GetSocketOption(SocketOptionLevel, SocketOptionName)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Retourne la valeur d’une option spécifiée Socket , représentée en tant qu’objet.
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
Paramètres
- optionLevel
- SocketOptionLevel
Une des SocketOptionLevel valeurs.
- optionName
- SocketOptionName
Une des SocketOptionName valeurs.
Retours
Objet qui représente la valeur de l’option. Lorsque le optionName paramètre est défini sur Linger la valeur de retour est une instance de la LingerOption classe. Lorsqu’elle optionName est définie AddMembership sur ou DropMembership, la valeur de retour est une instance de la MulticastOption classe. Lorsqu’il optionName s’agit d’une autre valeur, la valeur de retour est un entier.
Exceptions
Une erreur s’est produite lors de la tentative d’accès au socket.
- ou -
optionName a été défini sur la valeur MaxConnectionsnon prise en charge .
Il Socket a été fermé.
Exemples
L’exemple de code suivant récupère les LingerOption valeurs et Send délai d’attente et les affiche dans la 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
Remarques
Socket les options déterminent le comportement du actif Socket. Utilisez cette surcharge pour obtenir les options et AddMembershipDropMembershipSocket les Lingeroptions. Pour l’option Linger , utilisez Socket le optionLevel paramètre. Pour AddMembership et DropMembership, utilisez IP. Si vous souhaitez définir la valeur de l’une des options répertoriées ci-dessus, utilisez la SetSocketOption méthode.
Note
Si vous recevez un SocketException, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique. Une fois que vous avez obtenu ce code, reportez-vous à la documentation du code d’erreur de l’API Windows Sockets version 2 pour obtenir une description détaillée de l’erreur.
Note
Ce membre génère des informations de suivi lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.
Voir aussi
S’applique à
GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Retourne le paramètre d’option spécifié Socket , représenté sous la forme d’un tableau d’octets.
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())
Paramètres
- optionLevel
- SocketOptionLevel
Une des SocketOptionLevel valeurs.
- optionName
- SocketOptionName
Une des SocketOptionName valeurs.
Exceptions
Une erreur s’est produite lors de la tentative d’accès au socket.
- ou -
Dans les applications .NET Compact Framework, l’espace tampon par défaut Windows CE est défini sur 32768 octets. Vous pouvez modifier l’espace de mémoire tampon par socket en appelant SetSocketOption.
Il Socket a été fermé.
Exemples
L’exemple de code suivant récupère les LingerOption valeurs et Send délai d’attente et les affiche dans la 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
Remarques
Socket les options déterminent le comportement du actif Socket. Une fois cette méthode terminée, le tableau spécifié par le optionValue paramètre contient la valeur de l’option spécifiée Socket .
Lorsque la longueur du optionValue tableau est inférieure au nombre d’octets requis pour stocker la valeur de l’option spécifiée Socket , GetSocketOption lève un SocketException. Si vous recevez un SocketException, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique. Une fois que vous avez obtenu ce code, reportez-vous à la documentation du code d’erreur de l’API Windows Sockets version 2 pour obtenir une description détaillée de l’erreur. Utilisez cette surcharge pour tous les sockets représentés par des valeurs booléennes ou des entiers.
Note
Ce membre génère des informations de suivi lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.
Voir aussi
S’applique à
GetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Retourne la valeur de l’option spécifiée Socket dans un tableau.
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()
Paramètres
- optionLevel
- SocketOptionLevel
Une des SocketOptionLevel valeurs.
- optionName
- SocketOptionName
Une des SocketOptionName valeurs.
- optionLength
- Int32
Longueur, en octets, de la valeur de retour attendue.
Retours
Tableau de type Byte qui contient la valeur de l’option de socket.
Exceptions
Une erreur s’est produite lors de la tentative d’accès au socket.
- ou -
Dans les applications .NET Compact Framework, l’espace tampon par défaut Windows CE est défini sur 32768 octets. Vous pouvez modifier l’espace de mémoire tampon par socket en appelant SetSocketOption.
Il Socket a été fermé.
Exemples
L’exemple de code suivant récupère les LingerOption valeurs et Send délai d’attente et les affiche dans la 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
Remarques
Le optionLength paramètre définit la taille maximale du tableau d’octets retourné. Si la valeur de l’option nécessite moins d’octets, le tableau ne contiendra que ce nombre d’octets. Si la valeur de l’option nécessite plus d’octets, GetSocketOption lève un SocketException. Utilisez cette surcharge pour tous les sockets représentés par des valeurs booléennes ou des entiers.
Note
Si vous recevez un SocketException, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique. Une fois que vous avez obtenu ce code, reportez-vous à la documentation du code d’erreur de l’API Windows Sockets version 2 pour obtenir une description détaillée de l’erreur.
Note
Ce membre génère des informations de suivi lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.