Socket.IOControl Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengatur mode operasi tingkat rendah untuk Socket.
Overload
IOControl(Int32, Byte[], Byte[]) |
Mengatur mode operasi tingkat rendah untuk Socket menggunakan kode kontrol numerik. |
IOControl(IOControlCode, Byte[], Byte[]) |
Mengatur mode operasi tingkat rendah untuk Socket menggunakan IOControlCode enumerasi untuk menentukan kode kontrol. |
IOControl(Int32, Byte[], Byte[])
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Mengatur mode operasi tingkat rendah untuk Socket menggunakan kode kontrol numerik.
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
Parameter
Mengembalikan
Jumlah byte dalam optionOutValue
parameter .
Pengecualian
Terjadi kesalahan saat mencoba mengakses soket.
Sudah Socket ditutup.
Upaya dilakukan untuk mengubah mode pemblokiran tanpa menggunakan Blocking properti .
Penelepon dalam tumpukan panggilan tidak memiliki izin yang diperlukan.
Contoh
Contoh kode berikut membandingkan hasil FIONREAD dan properti Tersedia.
// FIONREAD is also available as the "Available" property.
const int FIONREAD = 0x4004667F;
void DisplayPendingByteCount( Socket^ s )
{
array<Byte>^ outValue = BitConverter::GetBytes( 0 );
// Check how many bytes have been received.
s->IOControl( FIONREAD, nullptr, outValue );
UInt32 bytesAvailable = BitConverter::ToUInt32( outValue, 0 );
Console::WriteLine( "server has {0} bytes pending. Available property says {1}.",
bytesAvailable, s->Available );
return;
}
// 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;
}
Keterangan
Metode ini IOControl menyediakan akses tingkat rendah ke sistem Socket operasi yang mendasar instans Socket kelas saat ini. Untuk informasi selengkapnya, lihat dokumentasi WSAIoctl .
Catatan
Jika Anda menerima SocketException, gunakan SocketException.ErrorCode properti untuk mendapatkan kode kesalahan tertentu. Setelah Anda mendapatkan kode ini, lihat dokumentasi kode kesalahan API Windows Sockets versi 2 untuk deskripsi terperinci tentang kesalahan tersebut.
Catatan
Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.
Berlaku untuk
IOControl(IOControlCode, Byte[], Byte[])
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Mengatur mode operasi tingkat rendah untuk Socket menggunakan IOControlCode enumerasi untuk menentukan kode kontrol.
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
Parameter
- ioControlCode
- IOControlCode
IOControlCode Nilai yang menentukan kode kontrol operasi yang akan dilakukan.
Mengembalikan
Jumlah byte dalam optionOutValue
parameter .
Pengecualian
Terjadi kesalahan saat mencoba mengakses soket.
Sudah Socket ditutup.
Upaya dilakukan untuk mengubah mode pemblokiran tanpa menggunakan Blocking properti .
Contoh
Contoh kode berikut membandingkan hasil panggilan IOControl dengan DataToRead dan Available properti .
void DisplayPendingByteCount( Socket^ s )
{
array<Byte>^ outValue = BitConverter::GetBytes( 0 );
// Check how many bytes have been received.
s->IOControl( IOControlCode::DataToRead, nullptr, outValue );
UInt32 bytesAvailable = BitConverter::ToUInt32( outValue, 0 );
Console::Write( "server has {0} bytes pending,",
bytesAvailable );
Console::WriteLine( "Available property says {1}.",
s->Available );
return;
}
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;
}
Keterangan
Metode ini menyediakan akses tingkat rendah ke sistem Socket operasi yang mendasar instans Socket kelas saat ini. Untuk informasi selengkapnya, lihat dokumentasi WSAIoctl .
Catatan
Jika Anda menerima SocketException, gunakan SocketException.ErrorCode properti untuk mendapatkan kode kesalahan tertentu. Setelah Anda mendapatkan kode ini, lihat dokumentasi kode kesalahan API Windows Sockets versi 2 untuk deskripsi terperinci tentang kesalahan tersebut.
Catatan
Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.