Промывка имеет смысл на потоках. И говорить, что TCP не поддерживает сброс, вводит в заблуждение. Большинство реализаций TCP не поддерживают явную очистку их буферов отправки, но это не ограничение TCP, а ограничение этих реализаций. И есть сценарии, где очень полезен флеш, чтобы избежать нагла в выбранных точках.
аб Я обнаружил странную проблему с производительностью. Каждый запрос занимал 5 мс с отключенным Keep-Alive, но 40 мс с включенным Keep-Alive!Тестовая страница генерируется в один байт [], который отправляется как ответ с использованием одного вызова socket.Send.
Причина в том, насколько я могу судить об алгоритме Nagle, используемом в стеке TCP.
TCP-флеш?
Пока я используюБез задержки свойство в конце каждого HTTP-запроса.Который сейчас решает проблему. Но у меня нет документации для резервного копирования моего открытия.
socket.NoDelay = true;
socket.NoDelay = false;
Это было проверено на системе Linux / Mono.
Существует ли стандартный способ очистки TCP-соединения?
Связанный
Этот ответрешает ту же проблему. Разница здесь в том, что я хочу только временно отключить алгоритм.Я проверил это с Wireshark. К несчастью,