Socket.SetSocketOption Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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.
Ö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.
Özel durumlar
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Ö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.
Kapatılmış Socket .
Ö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.
Kapatılmış Socket .
Ö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.