Socket.SetSocketOption Metode

Definisi

Socket Mengatur opsi.

Overload

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Mengatur opsi yang ditentukan Socket ke nilai yang ditentukan Boolean .

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Mengatur opsi yang ditentukan Socket ke nilai yang ditentukan, yang direpresentasikan sebagai array byte.

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Mengatur opsi yang ditentukan Socket ke nilai bilangan bulat yang ditentukan.

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Mengatur opsi yang ditentukan Socket ke nilai yang ditentukan, yang direpresentasikan sebagai objek.

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Sumber:
Socket.cs
Sumber:
Socket.cs
Sumber:
Socket.cs

Mengatur opsi yang ditentukan Socket ke nilai yang ditentukan Boolean .

public:
 void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, bool optionValue);
public void SetSocketOption (System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, bool optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * bool -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Boolean)

Parameter

optionLevel
SocketOptionLevel

Salah SocketOptionLevel satu nilai.

optionName
SocketOptionName

Salah SocketOptionName satu nilai.

optionValue
Boolean

Nilai opsi , dinyatakan sebagai Boolean.

Pengecualian

Objek Socket telah ditutup.

Terjadi kesalahan saat mencoba mengakses soket.

Contoh

Contoh kode berikut membuka soket dan mengaktifkan DontLinger opsi soket dan OutOfBandInline .

// Establish the local endpoint for the socket.
IPHostEntry^ ipHost = Dns::GetHostEntry( Dns::GetHostName() );
IPAddress^ ipAddr = ipHost->AddressList[ 0 ];
IPEndPoint^ ipEndPoint = gcnew IPEndPoint( ipAddr,11000 );

// Create a TCP socket.
Socket^ client = gcnew Socket( AddressFamily::InterNetwork,SocketType::Stream,ProtocolType::Tcp );

// Connect the socket to the remote endpoint.
client->Connect( ipEndPoint );

// Set option that allows socket to close gracefully without lingering.
client->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::DontLinger, true );

// Set option that allows socket to receive out-of-band information in the data stream.
client->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::OutOfBandInline, true );
// Establish the local endpoint for the socket.
IPHostEntry ipHost = Dns.GetHostEntry(Dns.GetHostName());
IPAddress  ipAddr = ipHost.AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000);

// Create a TCP socket.
Socket client = new Socket(AddressFamily.InterNetwork,
    SocketType.Stream, ProtocolType.Tcp);

// Connect the socket to the remote endpoint.
client.Connect(ipEndPoint);

// Set option that allows socket to close gracefully without lingering.
client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.DontLinger, true);

// Set option that allows socket to receive out-of-band information in the data stream.
client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.OutOfBandInline, true);

Keterangan

Socket opsi menentukan perilaku saat ini Socket. Atur optionValue ke true untuk mengaktifkan opsi, atau ke untuk false menonaktifkan opsi.

Socket opsi dikelompokkan menurut tingkat dukungan protokol.

Tercantum di bawah ini adalah berbagai Socket opsi yang dapat diatur menggunakan kelebihan beban ini. Opsi ini dikelompokkan menurut nilai yang sesuai SocketOptionLevel . Jika Anda ingin mengatur salah satu opsi ini, pastikan untuk menggunakan nilai yang sesuai SocketOptionLevel untuk optionLevel parameter . Opsi yang Anda pilih untuk diatur harus ditentukan dalam optionName parameter . Jika Anda ingin mendapatkan nilai saat ini dari salah satu opsi yang tercantum, gunakan metode .GetSocketOption

SocketOptionLevel.Socket opsi yang dapat diatur menggunakan kelebihan beban ini.

SocketOptionLevel.IP opsi yang dapat diatur menggunakan kelebihan beban ini.

SocketOptionLevel.Tcp opsi yang dapat diatur menggunakan kelebihan beban ini.

SocketOptionLevel.Udp opsi yang dapat diatur menggunakan kelebihan beban ini.

Untuk informasi selengkapnya tentang opsi ini, lihat SocketOptionName enumerasi.

Catatan

Jika Anda menerima SocketException pengecualian, 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.

Berlaku untuk

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Sumber:
Socket.cs
Sumber:
Socket.cs
Sumber:
Socket.cs

Mengatur opsi yang ditentukan Socket ke nilai yang ditentukan, yang direpresentasikan sebagai array byte.

public:
 void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, cli::array <System::Byte> ^ optionValue);
public void SetSocketOption (System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, byte[] optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * byte[] -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Byte())

Parameter

optionLevel
SocketOptionLevel

Salah SocketOptionLevel satu nilai.

optionName
SocketOptionName

Salah SocketOptionName satu nilai.

optionValue
Byte[]

Array jenis Byte yang mewakili nilai opsi.

Pengecualian

Terjadi kesalahan saat mencoba mengakses soket.

Contoh

Contoh kode berikut menetapkan LingerOption nilai waktu habis dan Send .

// Specifies that the Socket will linger for 10 seconds after Close is called.
LingerOption^ lingerOption = gcnew LingerOption(true, 10);
s->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::Linger, lingerOption);
// The socket will linger for 10 seconds after Socket.Close is called.
var lingerOption = new LingerOption(true, 10);
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);
' The socket will linger for 10 seconds after Socket.Close is called.
Dim lingerOption As New LingerOption(True, 10)
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption)

Keterangan

Socket opsi menentukan perilaku saat ini Socket. Gunakan kelebihan beban ini untuk mengatur Socket opsi yang memerlukan array byte sebagai nilai opsi.

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.

Lihat juga

Berlaku untuk

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Sumber:
Socket.cs
Sumber:
Socket.cs
Sumber:
Socket.cs

Mengatur opsi yang ditentukan Socket ke nilai bilangan bulat yang ditentukan.

public:
 void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, int optionValue);
public void SetSocketOption (System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, int optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * int -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Integer)

Parameter

optionLevel
SocketOptionLevel

Salah SocketOptionLevel satu nilai.

optionName
SocketOptionName

Salah SocketOptionName satu nilai.

optionValue
Int32

Nilai opsi.

Pengecualian

Terjadi kesalahan saat mencoba mengakses soket.

Contoh

Contoh kode berikut menetapkan LingerOption nilai waktu habis dan Send .

// Specifies that send operations will time-out
// if confirmation is not received within 1000 milliseconds.
s->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::SendTimeout, 1000);
// Send operations will time-out if confirmation
// is not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000);
'Send operations will time-out if confirmation is
' not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000)

Keterangan

Socket opsi menentukan perilaku saat ini Socket. Untuk opsi dengan Boolean jenis data, tentukan nilai bukan nol untuk mengaktifkan opsi, dan nilai nol untuk menonaktifkan opsi. Untuk opsi dengan jenis data bilangan bulat, tentukan nilai yang sesuai. Socket opsi dikelompokkan menurut tingkat dukungan protokol.

Tercantum di bawah ini adalah berbagai Socket opsi yang dapat diatur menggunakan kelebihan beban ini. Opsi ini dikelompokkan menurut yang sesuai SocketOptionLevel. Jika Anda ingin mengatur salah satu opsi ini, pastikan untuk menggunakan yang sesuai SocketOptionLevel untuk optionLevel parameter . Opsi yang Anda pilih untuk diatur harus ditentukan dalam optionName parameter . Jika Anda ingin mendapatkan nilai saat ini dari salah satu opsi yang tercantum, gunakan metode .GetSocketOption

SocketOptionLevel.Socket opsi yang dapat diatur menggunakan kelebihan beban ini.

SocketOptionLevel.IP opsi yang dapat diatur menggunakan kelebihan beban ini.

SocketOptionLevel.Tcp opsi yang dapat diatur menggunakan kelebihan beban ini.

SocketOptionLevel.Udp opsi yang dapat diatur menggunakan kelebihan beban ini.

SocketOptionLevel.IPv6 opsi yang dapat diatur menggunakan kelebihan beban ini.

Untuk informasi selengkapnya tentang opsi ini, lihat SocketOptionName enumerasi.

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.

Lihat juga

Berlaku untuk

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Sumber:
Socket.cs
Sumber:
Socket.cs
Sumber:
Socket.cs

Mengatur opsi yang ditentukan Socket ke nilai yang ditentukan, yang direpresentasikan sebagai objek.

public:
 void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, System::Object ^ optionValue);
public void SetSocketOption (System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, object optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * obj -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Object)

Parameter

optionLevel
SocketOptionLevel

Salah SocketOptionLevel satu nilai.

optionName
SocketOptionName

Salah SocketOptionName satu nilai.

optionValue
Object

LingerOption atau MulticastOption yang berisi nilai opsi.

Pengecualian

optionValueadalah null.

Terjadi kesalahan saat mencoba mengakses soket.

Contoh

Contoh kode berikut menetapkan LingerOption nilai waktu habis dan Send .

// Specifies that the Socket will linger for 10 seconds after Close is called.
LingerOption^ lingerOption = gcnew LingerOption(true, 10);
s->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::Linger, lingerOption);
// The socket will linger for 10 seconds after Socket.Close is called.
var lingerOption = new LingerOption(true, 10);
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);
' The socket will linger for 10 seconds after Socket.Close is called.
Dim lingerOption As New LingerOption(True, 10)
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption)

Keterangan

Socket opsi menentukan perilaku saat ini Socket. Gunakan kelebihan beban ini untuk mengatur Lingeropsi , AddMembership, dan DropMembershipSocket . Linger Untuk opsi , gunakan Socket untuk optionLevel parameter . Untuk AddMembership dan DropMembership, gunakan IP. Jika Anda ingin mendapatkan nilai saat ini dari salah satu opsi yang tercantum di atas, gunakan metode .GetSocketOption

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.

Lihat juga

Berlaku untuk