TcpClient.LingerState プロパティ
ソケットの待機時間に関する情報を取得または設定します。
Public Property LingerState As LingerOption
[C#]
public LingerOption LingerState {get; set;}
[C++]
public: __property LingerOption* get_LingerState();public: __property void set_LingerState(LingerOption*);
[JScript]
public function get LingerState() : LingerOption;public function set LingerState(LingerOption);
プロパティ値
LingerOption 。既定では、待機時間は 0 秒で有効になっています。
解説
このプロパティは、送信するデータが残っている場合に、 Close を呼び出した後で TCP 接続を維持する時間の長さを制御します。 Write メソッドを呼び出すと、データは発信ネットワーク バッファに置かれます。このプロパティを使用すると、 Close メソッドが接続を無効にする前にリモート ホストにこのデータを送信できます。
接続の待機を有効にするには、必要な値を格納する LingerOption を作成し、 LingerOption にこのプロパティを設定します。 LingerOption の Enabled プロパティが true の場合、 LingerOption.LingerTime 秒間のタイムアウトでネットワークにデータが送信されます。データが送信されるか、タイムアウトが経過すると、接続が終了し、未送信のデータは失われます。 LingerOption の Enabled プロパティが false の場合、送信するデータが残っていても、 Close メソッドを呼び出した直後に接続は終了します。
使用例
[Visual Basic, C#, C++] ソケットの待機時間を設定し取得する例を次に示します。
' Sets the amount of time to linger after closing, using the LingerOption public property.
Dim lingerOption As New LingerOption(True, 10)
tcpClient.LingerState = lingerOption
' Gets the amount of linger time set, using the LingerOption public property.
If tcpClient.LingerState.LingerTime = 10 Then
Console.WriteLine(("The linger state setting was successfully set to " + tcpClient.LingerState.LingerTime.ToString()))
End If
[C#]
// sets the amount of time to linger after closing, using the LingerOption public property.
LingerOption lingerOption = new LingerOption (true, 10);
tcpClient.LingerState = lingerOption;
// gets the amount of linger time set, using the LingerOption public property.
if (tcpClient.LingerState.LingerTime == 10)
Console.WriteLine ("The linger state setting was successfully set to " + tcpClient.LingerState.LingerTime.ToString ());
[C++]
// sets the amount of time to linger after closing, using the LingerOption public property.
LingerOption* lingerOption = new LingerOption(true, 10);
tcpClient->LingerState = lingerOption;
// gets the amount of linger time set, using the LingerOption public property.
if (tcpClient->LingerState->LingerTime == 10)
Console::WriteLine(S"The linger state setting was successfully set to {0}", __box(tcpClient->LingerState->LingerTime));
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
TcpClient クラス | TcpClient メンバ | System.Net.Sockets 名前空間 | LingerOption | Close | Write