Промывка имеет смысл на потоках. И говорить, что TCP не поддерживает сброс, вводит в заблуждение. Большинство реализаций TCP не поддерживают явную очистку их буферов отправки, но это не ограничение TCP, а ограничение этих реализаций. И есть сценарии, где очень полезен флеш, чтобы избежать нагла в выбранных точках.

меня есть реализация HTTP-сервера в C #. С помощью

аб Я обнаружил странную проблему с производительностью. Каждый запрос занимал 5 мс с отключенным Keep-Alive, но 40 мс с включенным Keep-Alive!Тестовая страница генерируется в один байт [], который отправляется как ответ с использованием одного вызова socket.Send.

Причина в том, насколько я могу судить об алгоритме Nagle, используемом в стеке TCP.

TCP-флеш?

Пока я использую

Без задержки свойство в конце каждого HTTP-запроса.Который сейчас решает проблему. Но у меня нет документации для резервного копирования моего открытия.

socket.NoDelay = true;
socket.NoDelay = false;

Это было проверено на системе Linux / Mono.

Существует ли стандартный способ очистки TCP-соединения?

Связанный

Этот ответ

 решает ту же проблему. Разница здесь в том, что я хочу только временно отключить алгоритм.Я проверил это с Wireshark. К несчастью,

Ответы на вопрос(0)

Ваш ответ на вопрос