英語で読む

次の方法で共有


Socket.Close メソッド

定義

Socket 接続を閉じ、関連付けられたすべてのリソースを解放します。

オーバーロード

Close()

Socket 接続を閉じ、関連付けられたすべてのリソースを解放します。

Close(Int32)

Socket 接続を閉じ、すべての関連付けられているリソースを指定したタイムアウトで解放して、キューに置かれたデータの送信を許可します。

Close()

ソース:
Socket.cs
ソース:
Socket.cs
ソース:
Socket.cs

Socket 接続を閉じ、関連付けられたすべてのリソースを解放します。

public void Close();

次のコード例では、 を Socket閉じます。

try
{
    aSocket.Shutdown(SocketShutdown.Both);
}
finally
{
    aSocket.Close();
}

注釈

メソッドは Close 、リモート ホスト接続を閉じ、 に関連付けられているすべてのマネージド リソースとアンマネージド リソースを解放します Socket。 閉じると、 Connected プロパティは に false設定されます。

接続指向プロトコルの場合は、 メソッドを呼び出す前に をClose呼び出Shutdownすることをお勧めします。 これにより、接続されているソケットが閉じられる前にすべてのデータが確実に送受信されます。

を最初に呼び出さずに を呼び出すClose必要がある場合は、 オプションを に設定SocketDontLingerし、0 以外のタイムアウト間隔を指定することで、送信用にキューに入れたデータが確実にfalse送信されるようにShutdownすることができます。 Close は、このデータが送信されるまで、または指定されたタイムアウトが切れるまでブロックします。 を にfalse設定DontLingerし、タイムアウト間隔を 0 に指定した場合は、接続を解放し、Close送信キューに登録されたデータを自動的に破棄します。

注意

ソケット オプションを DontLingerfalse設定するには、 を LingerOption作成し、enabled プロパティを に true設定し、 プロパティを LingerTime 目的のタイムアウト期間に設定します。 これを LingerOption ソケット オプションと共に DontLinger 使用して、 メソッドを SetSocketOption 呼び出します。

注意

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。

こちらもご覧ください

適用対象

.NET 10 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Close(Int32)

ソース:
Socket.cs
ソース:
Socket.cs
ソース:
Socket.cs

Socket 接続を閉じ、すべての関連付けられているリソースを指定したタイムアウトで解放して、キューに置かれたデータの送信を許可します。

public void Close(int timeout);

パラメーター

timeout
Int32

残りのデータが timeout 送信されるまで最大ミリ秒待ってから、ソケットを閉じます。

次のコード例は、 を閉じる方法を Socket示しています。

try
{
    aSocket.Shutdown(SocketShutdown.Both);
}
finally
{
    aSocket.Close();
}

注釈

メソッドは Close 、リモート ホスト接続を閉じ、 に関連付けられているすべてのマネージド リソースとアンマネージド リソースを解放します Socket。 閉じると、 Connected プロパティは に false設定されます。

接続指向プロトコルの場合は、 を呼び出す前に を呼び出ShutdownCloseすることをお勧めします。 これにより、接続されているソケットが閉じられる前にすべてのデータが確実に送受信されます。

を最初に呼び出さずに を呼び出ShutdownClose必要がある場合は、 オプションを に設定DontLingerし、0 以外のタイムアウト間隔を指定することで、送信用にキューに入れたデータが確実にfalse送信されるようにすることができます。 Close は、このデータが送信されるまで、または指定されたタイムアウトが切れるまでブロックします。 を にfalse設定DontLingerし、タイムアウト間隔を 0 に指定した場合は、接続を解放し、Close送信キューに登録されたデータを自動的に破棄します。

注意

ソケット オプションを DontLingerfalse設定するには、 を LingerOption作成し、enabled プロパティを に true設定し、 プロパティを LingerTime 目的のタイムアウト期間に設定します。 これを LingerOption ソケット オプションと共に DontLinger 使用して、 メソッドを SetSocketOption 呼び出します。

注意

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。

こちらもご覧ください

適用対象

.NET 10 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1