Bagikan melalui


Socket.IOControl Metode

Definisi

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

ioControlCode
Int32

Nilai Int32 yang menentukan kode kontrol operasi yang akan dilakukan.

optionInValue
Byte[]

Array Byte yang berisi data input yang diperlukan oleh operasi.

optionOutValue
Byte[]

Array Byte yang berisi data output yang dikembalikan oleh operasi.

Mengembalikan

Jumlah byte dalam optionOutValue parameter .

Pengecualian

Terjadi kesalahan saat mencoba mengakses soket.

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.

optionInValue
Byte[]

Array jenis Byte yang berisi data input yang diperlukan oleh operasi.

optionOutValue
Byte[]

Array jenis Byte yang berisi data output yang dikembalikan oleh operasi.

Mengembalikan

Jumlah byte dalam optionOutValue parameter .

Pengecualian

Terjadi kesalahan saat mencoba mengakses soket.

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.

Berlaku untuk