Socket.SetSocketOption Yöntem

Tanım

Bir Socket seçenek ayarlar.

Aşırı Yüklemeler

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Belirtilen seçeneği belirtilen SocketBoolean değere ayarlar.

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Belirtilen Socket seçeneği bayt dizisi olarak temsil edilen belirtilen değere ayarlar.

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Belirtilen seçeneği belirtilen Socket tamsayı değerine ayarlar.

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Belirtilen Socket seçeneği, nesne olarak temsil edilen belirtilen değere ayarlar.

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs

Belirtilen seçeneği belirtilen SocketBoolean değere ayarlar.

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)

Parametreler

optionLevel
SocketOptionLevel

Değerlerden SocketOptionLevel biri.

optionName
SocketOptionName

Değerlerden SocketOptionName biri.

optionValue
Boolean

seçeneğinin değeri, olarak Booleantemsil edilir.

Özel durumlar

Nesne Socket kapatıldı.

Yuvaya erişmeye çalışılırken bir hata oluştu.

Örnekler

Aşağıdaki kod örneği bir yuva açar ve ve OutOfBandInline yuva seçeneklerini etkinleştirirDontLinger.

// 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);

Açıklamalar

Socket seçenekleri geçerli Socketöğesinin davranışını belirler. true seçeneğini etkinleştirmek veya seçeneği devre dışı bırakmak için false olarak ayarlayınoptionValue.

Socket seçenekleri protokol desteği düzeyine göre gruplandırılır.

Bu aşırı yükleme kullanılarak ayarlanabilen çeşitli Socket seçenekler aşağıda listelenmiştir. Bu seçenekler uygun SocketOptionLevel değere göre gruplandırılır. Bu seçeneklerden herhangi birini ayarlamak istiyorsanız, parametresi için uygun SocketOptionLevel değeri kullandığınızdan optionLevel emin olun. Ayarlamayı seçtiğiniz seçenek parametresinde optionName belirtilmelidir. Listelenen seçeneklerden herhangi birinin geçerli değerini almak istiyorsanız yöntemini kullanın GetSocketOption .

SocketOptionLevel.Socket bu aşırı yükleme kullanılarak ayarlanabilen seçenekler.

SocketOptionLevel.IP bu aşırı yükleme kullanılarak ayarlanabilen seçenekler.

SocketOptionLevel.Tcp bu aşırı yükleme kullanılarak ayarlanabilen seçenekler.

SocketOptionLevel.Udp bu aşırı yükleme kullanılarak ayarlanabilen seçenekler.

Bu seçenekler hakkında daha fazla bilgi için numaralandırmaya SocketOptionName bakın.

Not

Özel durum alırsanız, belirli bir SocketException hata kodunu almak için özelliğini kullanın SocketException.ErrorCode . Bu kodu aldıktan sonra, hatanın ayrıntılı açıklaması için Windows Yuvaları sürüm 2 API hata kodu belgelerine bakın.

Şunlara uygulanır

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs

Belirtilen Socket seçeneği bayt dizisi olarak temsil edilen belirtilen değere ayarlar.

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())

Parametreler

optionLevel
SocketOptionLevel

Değerlerden SocketOptionLevel biri.

optionName
SocketOptionName

Değerlerden SocketOptionName biri.

optionValue
Byte[]

seçeneğinin değerini temsil eden tür Byte dizisi.

Özel durumlar

Yuvaya erişmeye çalışılırken bir hata oluştu.

Örnekler

Aşağıdaki kod örneği ve Send zaman aşımı değerlerini ayarlarLingerOption.

// 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)

Açıklamalar

Socket seçenekleri geçerli Socketöğesinin davranışını belirler. Bayt dizisi gerektiren seçenekleri Socket seçenek değeri olarak ayarlamak için bu aşırı yüklemeyi kullanın.

Not

bir alırsanız, belirli bir SocketExceptionhata kodunu almak için özelliğini kullanın SocketException.ErrorCode . Bu kodu aldıktan sonra, hatanın ayrıntılı açıklaması için Windows Yuvaları sürüm 2 API hata kodu belgelerine bakın.

Not

Uygulamanızda ağ izlemeyi etkinleştirdiğinizde, bu üye izleme bilgilerini çıkarır. Daha fazla bilgi için bkz. .NET Framework'da Ağ İzleme.

Ayrıca bkz.

Şunlara uygulanır

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs

Belirtilen seçeneği belirtilen Socket tamsayı değerine ayarlar.

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)

Parametreler

optionLevel
SocketOptionLevel

Değerlerden SocketOptionLevel biri.

optionName
SocketOptionName

Değerlerden SocketOptionName biri.

optionValue
Int32

seçeneğinin değeri.

Özel durumlar

Yuvaya erişmeye çalışılırken bir hata oluştu.

Örnekler

Aşağıdaki kod örneği ve Send zaman aşımı değerlerini ayarlarLingerOption.

// 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)

Açıklamalar

Socket seçenekleri geçerli Socketöğesinin davranışını belirler. Veri türüne sahip bir Boolean seçenek için, seçeneği etkinleştirmek için sıfır olmayan bir değer ve seçeneği devre dışı bırakmak için sıfır değeri belirtin. Tamsayı veri türüne sahip bir seçenek için uygun değeri belirtin. Socket seçenekleri protokol desteği düzeyine göre gruplandırılır.

Bu aşırı yükleme kullanılarak ayarlanabilen çeşitli Socket seçenekler aşağıda listelenmiştir. Bu seçenekler uygun SocketOptionLevelöğesine göre gruplandırılır. Bu seçeneklerden herhangi birini ayarlamak istiyorsanız parametresi için uygun SocketOptionLevel olanını kullandığınızdan optionLevel emin olun. Ayarlamayı seçtiğiniz seçenek parametresinde optionName belirtilmelidir. Listelenen seçeneklerden herhangi birinin geçerli değerini almak istiyorsanız yöntemini kullanın GetSocketOption .

SocketOptionLevel.Socket bu aşırı yükleme kullanılarak ayarlanabilen seçenekler.

SocketOptionLevel.IP bu aşırı yükleme kullanılarak ayarlanabilen seçenekler.

SocketOptionLevel.Tcp bu aşırı yükleme kullanılarak ayarlanabilen seçenekler.

SocketOptionLevel.Udp bu aşırı yükleme kullanılarak ayarlanabilen seçenekler.

SocketOptionLevel.IPv6 bu aşırı yükleme kullanılarak ayarlanabilen seçenekler.

Bu seçenekler hakkında daha fazla bilgi için numaralandırmaya SocketOptionName bakın.

Not

bir alırsanız, belirli bir SocketExceptionhata kodunu almak için özelliğini kullanın SocketException.ErrorCode . Bu kodu aldıktan sonra, hatanın ayrıntılı açıklaması için Windows Yuvaları sürüm 2 API hata kodu belgelerine bakın.

Not

Uygulamanızda ağ izlemeyi etkinleştirdiğinizde, bu üye izleme bilgilerini çıkarır. Daha fazla bilgi için bkz. .NET Framework'da Ağ İzleme.

Ayrıca bkz.

Şunlara uygulanır

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs

Belirtilen Socket seçeneği, nesne olarak temsil edilen belirtilen değere ayarlar.

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)

Parametreler

optionLevel
SocketOptionLevel

Değerlerden SocketOptionLevel biri.

optionName
SocketOptionName

Değerlerden SocketOptionName biri.

optionValue
Object

LingerOption seçeneğinin değerini içeren bir veyaMulticastOption.

Özel durumlar

optionValue, null değeridir.

Yuvaya erişmeye çalışılırken bir hata oluştu.

Örnekler

Aşağıdaki kod örneği ve Send zaman aşımı değerlerini ayarlarLingerOption.

// 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)

Açıklamalar

Socket seçenekleri geçerli Socketöğesinin davranışını belirler. , AddMembershipve DropMembershipSocket seçeneklerini ayarlamak Lingeriçin bu aşırı yüklemeyi kullanın. seçeneği için Linger parametresini optionLevel kullanınSocket. ve DropMembershipiçin AddMembership kullanınIP. Yukarıda listelenen seçeneklerden herhangi birinin geçerli değerini almak istiyorsanız yöntemini kullanın GetSocketOption .

Not

bir alırsanız, belirli bir SocketExceptionhata kodunu almak için özelliğini kullanın SocketException.ErrorCode . Bu kodu aldıktan sonra, hatanın ayrıntılı açıklaması için Windows Yuvaları sürüm 2 API hata kodu belgelerine bakın.

Ayrıca bkz.

Şunlara uygulanır