Q:

Как ускорить передачу данных, tcp

Как ускорить передачу пакетов через tcp протокол желательно больше 1 мб/сек, какие есть идеи?
Думал как нибудь распараллелить передачу, например на клиенте создать 4 подключения (что-то типа потоков ;D) к серверу, пакет разбить на 4 части и отправлять эти пакеты одновременно, но я не знаю будет ли это быстрее, то-что они будут приходить не одновременно и потом при склейке возможна путаница я знаю, скажите пожалуйста, хороша ли моя идея или дичь какая-то и как тогда сделать лучше?

A:

Протокол TCP позволяет спокойно передавать и на скоростях порядка 1 гигабита. Скорость передачи чаще всего ограничена чисто техническими вещами на маршруте между клиентом и сервером.
Разделение передачи контента на несколько параллельных подключений может увеличить суммарную  скорость только в 2х случаях:

На сервере стоит явное искусственное ограничение на скорость по одному подключению
На канале связи между клиентом и сервером периодически теряются пакеты. TCP достаточно долго восстанавливается после потерь пакетов (выжидает таймауты и повторяет передачу) в итоге передача на некоторое время приостанавливается. При этом другое TCP соединение в это же время может спокойно передавать.

