Socket.Close メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Socket 接続を閉じ、関連付けられたすべてのリソースを解放します。
オーバーロード
Close() |
Socket 接続を閉じ、関連付けられたすべてのリソースを解放します。 |
Close(Int32) |
Socket 接続を閉じ、すべての関連付けられているリソースを指定したタイムアウトで解放して、キューに置かれたデータの送信を許可します。 |
Close()
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
Socket 接続を閉じ、関連付けられたすべてのリソースを解放します。
public:
void Close();
public void Close ();
member this.Close : unit -> unit
Public Sub Close ()
例
次のコード例では、 を 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
注釈
メソッドは Close 、リモート ホスト接続を閉じ、 に関連付けられているすべてのマネージド リソースとアンマネージド リソースを解放します Socket。 閉じると、 Connected プロパティは に false
設定されます。
接続指向プロトコルの場合は、 メソッドを呼び出す前に をClose呼び出Shutdownすることをお勧めします。 これにより、接続されているソケットが閉じられる前にすべてのデータが確実に送受信されます。
を最初に呼び出さずに を呼び出すClose必要がある場合は、 オプションを に設定SocketDontLingerし、0 以外のタイムアウト間隔を指定することで、送信用にキューに入れたデータが確実にfalse
送信されるようにShutdownすることができます。
Close は、このデータが送信されるまで、または指定されたタイムアウトが切れるまでブロックします。 を にfalse
設定DontLingerし、タイムアウト間隔を 0 に指定した場合は、接続を解放し、Close送信キューに登録されたデータを自動的に破棄します。
注意
ソケット オプションを DontLinger に false
設定するには、 を LingerOption作成し、enabled プロパティを に true
設定し、 プロパティを LingerTime 目的のタイムアウト期間に設定します。 これを LingerOption ソケット オプションと共に DontLinger 使用して、 メソッドを SetSocketOption 呼び出します。
Note
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。
こちらもご覧ください
適用対象
Close(Int32)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
Socket 接続を閉じ、すべての関連付けられているリソースを指定したタイムアウトで解放して、キューに置かれたデータの送信を許可します。
public:
void Close(int timeout);
public void Close (int timeout);
member this.Close : int -> unit
Public Sub Close (timeout As Integer)
パラメーター
- timeout
- Int32
残りのデータが timeout
送信されるまで最大ミリ秒待ってから、ソケットを閉じます。
例
次のコード例は、 を閉じる方法を 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
注釈
メソッドは Close 、リモート ホスト接続を閉じ、 に関連付けられているすべてのマネージド リソースとアンマネージド リソースを解放します Socket。 閉じると、 Connected プロパティは に false
設定されます。
接続指向プロトコルの場合は、 を呼び出す前に を呼び出ShutdownCloseすることをお勧めします。 これにより、接続されているソケットが閉じられる前にすべてのデータが確実に送受信されます。
を最初に呼び出さずに を呼び出ShutdownすClose必要がある場合は、 オプションを に設定DontLingerし、0 以外のタイムアウト間隔を指定することで、送信用にキューに入れたデータが確実にfalse
送信されるようにすることができます。
Close は、このデータが送信されるまで、または指定されたタイムアウトが切れるまでブロックします。 を にfalse
設定DontLingerし、タイムアウト間隔を 0 に指定した場合は、接続を解放し、Close送信キューに登録されたデータを自動的に破棄します。
注意
ソケット オプションを DontLinger に false
設定するには、 を LingerOption作成し、enabled プロパティを に true
設定し、 プロパティを LingerTime 目的のタイムアウト期間に設定します。 これを LingerOption ソケット オプションと共に DontLinger 使用して、 メソッドを SetSocketOption 呼び出します。
Note
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。
こちらもご覧ください
適用対象
.NET