Поделиться через


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

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

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

Комментарии

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

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