TcpClient.NoDelay Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define um valor que desabilita um atraso quando os buffers de envio ou recebimento não estão cheios.
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
Valor da propriedade
true se o atraso estiver desabilitado; caso contrário, false. O valor padrão é false.
Exemplos
O exemplo de código a seguir desabilita o atraso. Em seguida, verifica o valor de NoDelay verificar se a propriedade foi definida com êxito.
// Sends data immediately upon calling NetworkStream.Write.
tcpClient.NoDelay = true;
// Determines if the delay is enabled by using the NoDelay property.
if (tcpClient.NoDelay)
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
Comentários
Quando NoDelay é false, um TcpClient não envia um pacote pela rede até que ele tenha coletado uma quantidade significativa de dados de saída. Devido à quantidade de sobrecarga em um segmento TCP, o envio de pequenas quantidades de dados é ineficiente. No entanto, existem situações em que você precisa enviar quantidades muito pequenas de dados ou esperar respostas imediatas de cada pacote enviado. Sua decisão deve pesar a importância relativa da eficiência de rede versus os requisitos de aplicativo.