Partager via


Socket.GetSocketOption Méthode

Définition

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.

optionValue
Byte[]

Tableau de type Byte qui doit recevoir le paramètre d’option.

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

Byte[]

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.

Voir aussi

S’applique à