Aracılığıyla paylaş


Socket.Close Yöntem

Tanım

Socket Bağlantıyı kapatır ve ilişkili tüm kaynakları serbest bırakır.

Aşırı Yüklemeler

Close()

Socket Bağlantıyı kapatır ve ilişkili tüm kaynakları serbest bırakır.

Close(Int32)

Socket Bağlantıyı kapatır ve kuyruğa alınan verilerin gönderilmesine izin vermek için belirtilen zaman aşımına sahip tüm ilişkili kaynakları serbest bırakır.

Close()

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

Socket Bağlantıyı kapatır ve ilişkili tüm kaynakları serbest bırakır.

public:
 void Close();
public void Close ();
member this.Close : unit -> unit
Public Sub Close ()

Örnekler

Aşağıdaki kod örneği bir Socketöğesini kapatır.

try
{
   aSocket->Shutdown(SocketShutdown::Both);
   aSocket->Close();
}
catch (...)
{
   aSocket->Close();
   throw;
}

if ( aSocket->Connected )
{
   Console::WriteLine( "Winsock error: {0}", Convert::ToString(
      System::Runtime::InteropServices::Marshal::GetLastWin32Error() ) );
}
try
{
    aSocket.Shutdown(SocketShutdown.Both);
}
finally
{
    aSocket.Close();
}
    Try
        aSocket.Shutdown(SocketShutdown.Both)
    Finally
        aSocket.Close()
    End Try

End Sub

Açıklamalar

Close yöntemi uzak ana bilgisayar bağlantısını kapatır ve ile Socketilişkili tüm yönetilen ve yönetilmeyen kaynakları serbest bırakır. Kapatılırken Connected özelliği olarak falseayarlanır.

Bağlantı odaklı protokoller için yöntemini çağırmadan önce öğesini çağırmanız ShutdownClose önerilir. Bu, tüm verilerin kapatılana kadar bağlı yuvaya gönderilmesini ve alınmasını sağlar.

önce çağrısı yapmadan aramanız Close gerekirse, seçeneğini false olarak ayarlayarak DontLingerSocket ve sıfır olmayan bir zaman aşımı aralığı belirterek giden iletim için kuyruğa alınan verilerin gönderilmesini sağlayabilirsiniz.Shutdown Close daha sonra bu veriler gönderilene kadar veya belirtilen zaman aşımı süresi dolana kadar engeller. olarak ayarlayıp DontLingerfalse sıfır zaman aşımı aralığı belirtirseniz, Close bağlantıyı serbest bırakır ve giden kuyruğa alınan verileri otomatik olarak atar.

Not

Yuva seçeneğini olarak ayarlamak için bir oluşturun, enabled özelliğini olarak trueayarlayın ve özelliği istenen zaman aşımı süresine ayarlayınLingerTime.LingerOptionfalseDontLinger Yöntemini çağırmak DontLingerSetSocketOption için yuva seçeneğiyle birlikte bunu LingerOption kullanı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

Close(Int32)

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

Socket Bağlantıyı kapatır ve kuyruğa alınan verilerin gönderilmesine izin vermek için belirtilen zaman aşımına sahip tüm ilişkili kaynakları serbest bırakır.

public:
 void Close(int timeout);
public void Close (int timeout);
member this.Close : int -> unit
Public Sub Close (timeout As Integer)

Parametreler

timeout
Int32

Kalan verileri göndermek için timeout milisaniyeye kadar bekleyin ve ardından yuvayı kapatın.

Örnekler

Aşağıdaki kod örneğinde bir öğesinin nasıl kapatılmaya devam olduğu gösterilmektedir Socket.

try
{
   aSocket->Shutdown(SocketShutdown::Both);
   aSocket->Close();
}
catch (...)
{
   aSocket->Close();
   throw;
}

if ( aSocket->Connected )
{
   Console::WriteLine( "Winsock error: {0}", Convert::ToString(
      System::Runtime::InteropServices::Marshal::GetLastWin32Error() ) );
}
try
{
    aSocket.Shutdown(SocketShutdown.Both);
}
finally
{
    aSocket.Close();
}
    Try
        aSocket.Shutdown(SocketShutdown.Both)
    Finally
        aSocket.Close()
    End Try

End Sub

Açıklamalar

Close yöntemi uzak ana bilgisayar bağlantısını kapatır ve ile Socketilişkili tüm yönetilen ve yönetilmeyen kaynakları serbest bırakır. Kapatılırken Connected özelliği olarak falseayarlanır.

Bağlantı odaklı protokoller için çağrısı yapmadan önce öğesini çağırmanız ShutdownCloseönerilir. Bu, tüm verilerin kapatılana kadar bağlı yuvaya gönderilmesini ve alınmasını sağlar.

önce çağrısı Shutdownyapmadan aramanız Close gerekirse, seçeneğini false olarak ayarlayarak DontLinger ve sıfır olmayan bir zaman aşımı aralığı belirterek giden iletim için kuyruğa alınan verilerin gönderilmesini sağlayabilirsiniz. Close daha sonra bu veriler gönderilene kadar veya belirtilen zaman aşımı süresi dolana kadar engeller. olarak ayarlayıp DontLingerfalse sıfır zaman aşımı aralığı belirtirseniz, Close bağlantıyı serbest bırakır ve giden kuyruğa alınan verileri otomatik olarak atar.

Not

Yuva seçeneğini olarak ayarlamak için bir oluşturun, enabled özelliğini olarak trueayarlayın ve özelliği istenen zaman aşımı süresine ayarlayınLingerTime.LingerOptionfalseDontLinger Yöntemini çağırmak DontLingerSetSocketOption için yuva seçeneğiyle birlikte bunu LingerOption kullanı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