Socket.IOControl Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nastaví režimy provozu nízké úrovně pro Socket.
Přetížení
| Name | Description |
|---|---|
| IOControl(Int32, Byte[], Byte[]) |
Nastaví režimy provozu nízké úrovně pro Socket použití číselných řídicích kódů. |
| IOControl(IOControlCode, Byte[], Byte[]) |
Nastaví režimy provozu nízké úrovně pro Socket použití výčtu IOControlCode k určení řídicích kódů. |
IOControl(Int32, Byte[], Byte[])
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
Nastaví režimy provozu nízké úrovně pro Socket použití číselných řídicích kódů.
public:
int IOControl(int ioControlCode, cli::array <System::Byte> ^ optionInValue, cli::array <System::Byte> ^ optionOutValue);
public int IOControl(int ioControlCode, byte[]? optionInValue, byte[]? optionOutValue);
public int IOControl(int ioControlCode, byte[] optionInValue, byte[] optionOutValue);
member this.IOControl : int * byte[] * byte[] -> int
Public Function IOControl (ioControlCode As Integer, optionInValue As Byte(), optionOutValue As Byte()) As Integer
Parametry
Návraty
Počet bajtů v parametru optionOutValue .
Výjimky
Při pokusu o přístup k soketu došlo k chybě.
Ta Socket byla uzavřena.
Došlo k pokusu o změnu režimu blokování bez použití Blocking vlastnosti.
Volající v zásobníku volání nemá požadovaná oprávnění.
Příklady
Následující příklad kódu porovnává výsledky FIONREAD a Available vlastnost.
// FIONREAD is also available as the "Available" property.
public const int FIONREAD = 0x4004667F;
static void DisplayPendingByteCount(Socket s)
{
byte[] outValue = BitConverter.GetBytes(0);
// Check how many bytes have been received.
s.IOControl(FIONREAD, null, outValue);
uint bytesAvailable = BitConverter.ToUInt32(outValue, 0);
Console.WriteLine("server has {0} bytes pending. Available property says {1}.",
bytesAvailable, s.Available);
return;
}
Poznámky
Metoda IOControl poskytuje přístup na nízké úrovni k operačnímu systému Socket , který je základem aktuální instance Socket třídy. Další informace najdete v dokumentaci k WSAIoctl .
Poznámka:
Pokud se zobrazí kód SocketExceptionchyby, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Po získání tohoto kódu si přečtěte dokumentaci k chybě rozhraní API rozhraní WINDOWS Sockets verze 2 , kde najdete podrobný popis chyby.
Poznámka:
Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete v tématu Trasování sítě v rozhraní .NET Framework.
Platí pro
IOControl(IOControlCode, Byte[], Byte[])
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
Nastaví režimy provozu nízké úrovně pro Socket použití výčtu IOControlCode k určení řídicích kódů.
public:
int IOControl(System::Net::Sockets::IOControlCode ioControlCode, cli::array <System::Byte> ^ optionInValue, cli::array <System::Byte> ^ optionOutValue);
public int IOControl(System.Net.Sockets.IOControlCode ioControlCode, byte[]? optionInValue, byte[]? optionOutValue);
public int IOControl(System.Net.Sockets.IOControlCode ioControlCode, byte[] optionInValue, byte[] optionOutValue);
member this.IOControl : System.Net.Sockets.IOControlCode * byte[] * byte[] -> int
Public Function IOControl (ioControlCode As IOControlCode, optionInValue As Byte(), optionOutValue As Byte()) As Integer
Parametry
- ioControlCode
- IOControlCode
Hodnota IOControlCode , která určuje řídicí kód operace, která se má provést.
Návraty
Počet bajtů v parametru optionOutValue .
Výjimky
Při pokusu o přístup k soketu došlo k chybě.
Ta Socket byla uzavřena.
Došlo k pokusu o změnu režimu blokování bez použití Blocking vlastnosti.
Příklady
Následující příklad kódu porovnává výsledky volání IOControl s DataToRead a Available vlastnost.
static void DisplayPendingByteCount(Socket s)
{
byte[] outValue = BitConverter.GetBytes(0);
// Check how many bytes have been received.
s.IOControl(IOControlCode.DataToRead, null, outValue);
uint bytesAvailable = BitConverter.ToUInt32(outValue, 0);
Console.Write("server has {0} bytes pending. ",
bytesAvailable);
Console.WriteLine("Available property says {1}.",
s.Available);
return;
}
Poznámky
Tato metoda poskytuje přístup na nízké úrovni k operačnímu systému Socket , který je základem aktuální instance Socket třídy. Další informace najdete v dokumentaci k WSAIoctl .
Poznámka:
Pokud se zobrazí kód SocketExceptionchyby, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Po získání tohoto kódu si přečtěte dokumentaci k chybě rozhraní API rozhraní WINDOWS Sockets verze 2 , kde najdete podrobný popis chyby.
Poznámka:
Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete v tématu Trasování sítě v rozhraní .NET Framework.