Ответ 1
Одно из преимуществ нескольких одновременных подключений может дать вам (с учетом тех же предостережений, о которых говорили голубь и Брайан), вы сможете лучше решить проблему слишком малого окна приема TCP.
Принцип, который относится к продукт задержки полосы пропускания. (Здесь более подробное описание здесь).
Краткий обзор: в средах с высокой пропускной способностью с высокой пропускной способностью надежные коммуникации, такие как TCP, часто ограничены количеством данных в полете в любой момент времени. Несколько соединений - это один из способов, так как продукт задержки полосы пропускания применяется к каждому соединению индивидуально.
Более подробно рассмотрим следующее: у вас есть сквозная полоса пропускания 10 ^ 8 бит в секунду (10 мегабит/с) и задержка в оба конца 100 мс (0,1 секунды). Следовательно, может быть до 10 ^ 7 бит (10 мегабайт = ~ 1,25 мегабайт) данных, отправленных до того, как подтверждение первого бита данных вернется к отправителю.
Это будет зависеть от стека TCP вашей ОС, но нестандартное значение для размера окна приема TCP составляет 64 Кбайт. Это, очевидно, слишком мало, чтобы позволить вам в полной мере использовать пропускную способность от конца до конца; после отправки 64-килобайтных (512 тыс. бит) данных процесс отправки будет ожидать обновления окна от приемника, указывая на то, что некоторые данные были израсходованы до помещения каких-либо дополнительных данных в провод.
При открытии нескольких открытых сеансов TCP это происходит благодаря тому, что каждый TCP-сеанс будет иметь свои собственные буферы отправки/получения.
Конечно, в Интернете сложно определить истинную доступную сквозную пропускную способность из-за размера окна TCP, конкуренции и т.д. Если вы можете предоставить некоторые примеры, мы можем помочь больше.
Другим вариантом, который вы должны изучить, является установка большего окна получения при создании сокета, либо глобально с использованием настройки ОС, либо на основе каждого сокета с использованием параметров сокета.