Compartilhar via


StreamWebSocketControl.NoDelay Propriedade

Definição

Um valor que indica se o algoritmo Nagle é usado em um objeto StreamWebSocket .

public:
 property bool NoDelay { bool get(); void set(bool value); };
bool NoDelay();

void NoDelay(bool value);
public bool NoDelay { get; set; }
var boolean = streamWebSocketControl.noDelay;
streamWebSocketControl.noDelay = boolean;
Public Property NoDelay As Boolean

Valor da propriedade

Boolean

bool

Um valor que indica se o algoritmo Nagle é usado na conexão TCP de um objeto StreamWebSocket .

Comentários

A propriedade NoDelay controla se o algoritmo de Nagle está habilitado ou desabilitado em um objeto StreamWebSocket . O valor padrão para a propriedade NoDelay é true.

O algoritmo de Nagle é uma técnica para melhorar a eficiência das redes TCP/IP, reduzindo o número de pacotes necessários para serem enviados pela rede. O algoritmo tenta lidar com problemas causados por um aplicativo que emite dados repetidamente em pequenas partes. Um pacote TCP tem um cabeçalho de 40 bytes (20 bytes para IP e 20 bytes para TCP). Portanto, se um aplicativo enviar apenas 4 bytes em um pacote, a sobrecarga nos dados do pacote será muito grande. Isso pode ocorrer para um protocolo de acesso remoto (telnet ou shell seguro, por exemplo), em que a maioria das teclas pressiona pode gerar apenas um byte ou dois dados que são transmitidos imediatamente. Em um link lento, muitos desses pacotes podem estar em trânsito pela rede ao mesmo tempo. O algoritmo de Nagle funciona combinando várias mensagens de saída pequenas e enviando todas de uma só vez. Quando há um pacote enviado para o qual o remetente não recebeu nenhuma confirmação, o remetente mantém a saída de buffer até que tenha um pacote completo de saída. Isso permite que a saída seja enviada de uma só vez. O impacto da aplicação do algoritmo de Nagle é aumentar a largura de banda em detrimento da latência. Um aplicativo bem escrito que os buffers enviam internamente não deve precisar usar o algoritmo de Nagle.

Quando essa propriedade for verdadeira, o StreamWebSocket desabilitará o algoritmo de Nagle na conexão TCP. Essa configuração reduz os possíveis atrasos ao enviar mensagens pequenas. Quando um StreamWebSocket é criado, o valor padrão dessa propriedade é true.

Quando essa propriedade for falsa, o StreamWebSocket habilitará o algoritmo de Nagle na conexão TCP. Essa configuração pode aumentar a largura de banda em detrimento da latência, mas só deve ser usada com cuidado. Há alguns efeitos colaterais adversos possíveis quando o algoritmo de Nagle está habilitado e determinadas outras otimizações de TCP também são usadas.

Essa propriedade pode ser definida antes que o StreamWebSocket esteja conectado. Depois que o StreamWebSocket estiver conectado, definir a propriedade resultará em um erro.

Essa propriedade define o valor da opção de soquete TCP_NODELAY no soquete TCP usado pelo StreamWebSocket .

Aplica-se a

Confira também