Может быть обходной путь, но это будет зависеть от специфики. Качество сигнала теряется по отношению к расстоянию.
Предполагая, что вы использовали Dropbox для передачи файлов, а вы и ваш друг были 1.000 км на своих основных серверах, тогда общее расстояние, пройденное вашими данными, составило бы 2.000 км. Это будет означать, что данные будут отправляться медленно и получать медленно.
Если вы можете сократить это расстояние до минимума, используя локальный сервер (или прямое соединение), то это может увеличить вашу скорость, если предположить, что она не низкая с начала (т. Е. Если при тестировании скорости между двумя островами вы получил низкие скорости).
Однако придерживайтесь этого как практическое правило, а не как общее правило или абсолютное правило, из-за того, что я пытаюсь объяснить далее.
xstnc указал мне на то, что это рассуждение несколько вводит в заблуждение из-за того, что концепция времени задержки туда-обратно (RDT) работает. Чтобы упростить ситуацию, давайте предположим, что вы пытаетесь передавать файлы, используя потоковое соединение. Согласно Руководству Биджа по сетевому программированию:
Потоковые сокеты являются надежными двусторонними связанными потоками связи. Если вы выводите два предмета в гнездо в порядке «1, 2», они поступят в порядке «1, 2» на противоположном конце. Они также будут безошибочными. Я настолько уверен, что на самом деле они будут безошибочными, что я просто суну пальцы в уши и буду повторять ля ля ля, если кто-то попытается заявить об обратном.
Как потоковые сокеты достигают такого высокого уровня качества передачи данных? Они используют протокол, называемый "Протокол управления передачей", иначе известный как "TCP" (см. RFC 793 для очень подробной информации о TCP.) TCP гарантирует, что ваши данные поступают последовательно и без ошибок.
Это качество имеет цену, хотя. Ниже приводится ссылка на второй протокол, обычно используемый при передаче данных, который называется UDP.
Почему вы используете ненадежный базовый протокол? Две причины: скорость и скорость. Это намного быстрее выстрелить и забыть, чем следить за тем, что прибыло безопасно, и убедиться, что оно в порядке и все такое. Если вы отправляете сообщения чата, TCP отлично подходит; если вы посылаете 40 позиционных обновлений в секунду игрокам в мире, возможно, это не имеет большого значения, если один или два удаляются, и UDP является хорошим выбором.
В TCP вы отправляете аккуратный пакет данных другому пользователю. Затем вы ожидаете, что он отправит вам часть информации, подтверждающую, что он получил этот пакет. И так далее, пока файл не будет получен. Это, очевидно, невероятно медленный процесс, который страдает от проблемы времени задержки туда-обратно (RDP).
RDP - это, в двух словах, времена распространения между двумя точками сигнала. В контексте компьютерных сетей сигнал, как правило, представляет собой пакет данных, и RTD также известен как время пинга.
Таким образом, именно эта задержка, а не расстояние само по себе, определяет качество сигнала, который вы получаете при передаче файлов. UDP также может страдать от той же проблемы, но он компенсируется отправкой бесчисленных пакетов без учета порядка или проверки ошибок, как объяснено в последней цитате.
Как отметил Арджан, скорость, которую обеспечивает ваш провайдер, является существенным фактором. В конечном счете, ваш друг не может пересмотреть скорость загрузки, а вы не можете превысить скорость загрузки. Поскольку большинство подключений к Интернету предпочитают загружать файлы для загрузки (сети типа ADSL), узким местом является скорость загрузки.