TcpClient.NoDelay Свойство

Определение

Возвращает или задает значение, которое отключает задержку в том случае, когда буферы отправки и получения не заполнены.

public:
 property bool NoDelay { bool get(); void set(bool value); };
public bool NoDelay { get; set; }
member this.NoDelay : bool with get, set
Public Property NoDelay As Boolean

Значение свойства

Boolean

true Значение , если задержка отключена; falseв противном случае . Значение по умолчанию — false.

Примеры

В следующем примере кода отключается задержка. Затем он проверяет значение NoDelay , чтобы убедиться, что свойство успешно задано.

// Sends data immediately upon calling NetworkStream.Write.
tcpClient->NoDelay = true;

// Determines if the delay is enabled by using the NoDelay property.
if ( tcpClient->NoDelay == true )
      Console::WriteLine( "The delay was set successfully to {0}", tcpClient->NoDelay );
// Sends data immediately upon calling NetworkStream.Write.
tcpClient.NoDelay = true;

// Determines if the delay is enabled by using the NoDelay property.
if (tcpClient.NoDelay == true)
    Console.WriteLine ("The delay was set successfully to " + tcpClient.NoDelay.ToString ());
' Sends data immediately upon calling NetworkStream.Write.
tcpClient.NoDelay = True

' Determines if the delay is enabled by using the NoDelay property.
If tcpClient.NoDelay = True Then
   Console.WriteLine(("The delay was set successfully to " + tcpClient.NoDelay.ToString()))
End If

Комментарии

В этом falseTcpClient случае NoDelay пакет не отправляется по сети, пока не будет собран значительный объем исходящих данных. Из-за накладных расходов в сегменте TCP отправка небольших объемов данных неэффективна. Однако существуют ситуации, когда необходимо отправлять очень небольшие объемы данных или ожидать немедленного ответа от каждого отправленного пакета. Ваше решение должно взвесить относительную важность эффективности сети и требований к приложениям.

Применяется к