TcpClient.LingerState 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
연결된 소켓의 링거 상태에 대한 정보를 가져오거나 설정합니다.
public:
property System::Net::Sockets::LingerOption ^ LingerState { System::Net::Sockets::LingerOption ^ get(); void set(System::Net::Sockets::LingerOption ^ value); };
public System.Net.Sockets.LingerOption? LingerState { get; set; }
public System.Net.Sockets.LingerOption LingerState { get; set; }
member this.LingerState : System.Net.Sockets.LingerOption with get, set
Public Property LingerState As LingerOption
속성 값
LingerOption 기본적으로 링거는 비활성화됩니다.
예제
다음 코드 예제에서는 소켓의 느린 시간을 설정하고 가져옵니다.
// 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 ());
' 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
설명
속성은 LingerState
메서드 동작 방식을 Close 변경합니다. 설정 시 이 속성은 Winsock에서 연결을 다시 설정할 수 있는 조건을 수정합니다. 연결 재설정은 IP 프로토콜 동작에 따라 계속 발생할 수 있습니다.
이 속성은 데이터를 전송할 때 호출 후 Close TCP 연결이 열린 상태로 유지되는 시간을 제어합니다. 메서드를 Write 호출하면 데이터가 나가는 네트워크 버퍼에 배치됩니다. 이 속성을 사용하여 메서드가 연결을 끊기 전에 이 데이터를 원격 호스트로 Close 보낼 수 있습니다.
느린 사용하려면 원하는 값이 포함된 instance 만들고 LingerOption 속성을 이 instance 설정합니다LingerState
.
다음 표에서는 속성 및 속성에 Close 저장된 속성의 가능한 값에 EnabledLingerTime 대한 메서드의 동작을 LingerState
설명합니다.
LingerState.Enabled | LingerState.LingerTime | 동작 |
---|---|---|
false (사용 안 함), 기본값 |
시간 제한은 적용할 수 없습니다(기본값). | 기본 IP 프로토콜 제한 시간이 만료될 때까지 보류 중인 데이터를 보내려고 시도합니다. |
true (사용) |
0이 아닌 시간 제한 | 지정된 제한 시간이 만료될 때까지 보류 중인 데이터를 보내려고 시도하고 시도가 실패하면 Winsock이 연결을 다시 설정합니다. |
true (사용) |
시간 제한이 0입니다. | 보류 중인 데이터를 모두 삭제하고 Winsock은 연결을 다시 설정합니다. |
IP 스택은 연결 왕복 시간에 따라 사용할 기본 IP 프로토콜 제한 시간을 계산합니다. 대부분의 경우에서 시간 제한이 스택에 의해 계산 애플리케이션에 의해 정의 된 보다 상대적입니다. 속성이 설정되지 않은 경우 소켓의 LingerState
기본 동작입니다.
속성에 LingerTimeLingerState
저장된 속성이 기본 IP 프로토콜 제한 시간보다 크게 설정되면 기본 IP 프로토콜 제한 시간이 계속 적용되고 재정의됩니다.