2012-04-20 2 views
7

(я поиск до спрашивать, но я смог найти только самые быстрые методы Java IPC)Самый быстрый способ отправки пакетов между двумя подключенными компьютерами?

Какой самый быстрый способ в Java для отправки пакета между двумя компьютерами в Java (подключен один сетевой кабель), на ОС Windows и Linux (если ответ зависит от ОС)?

Я догадался, что UDP будет быстрее TCP (из-за трехсторонней схемы установления TCP-протокола), но есть ли какие-либо другие соображения, которые необходимо сделать?

Мы ограничены сокетами (ответ Unix-specificc?) Или есть альтернативы? Какие технологии можно использовать для отправки и получения UDP как можно быстрее?

Кроме того, существуют ли особые высокопроизводительные способы приема и считывания данных, отправленных с другого компьютера?

+4

Если вы собираетесь голосовать «близко», по крайней мере, порядочность, чтобы объяснить, почему. Этот вопрос совершенно верен. – user997112

+1

Определите «Быстро». Вы беспокоитесь о задержке или пропускной способности? UDP в порядке, если вы не возражаете против случайной потери данных. – user949300

+1

@ user949300 Задержка важнее – user997112

ответ

2

Ну, между TCP/UDP не так много, если вы игнорируете задержку подключения/отключения. Если ваш протокол может поддерживать соединение TCP и отключать неуместные, зависящие от времени оптимизации, такие как алгоритм Nagle, я не понимаю, почему TCP следует отбросить как решение, хотя есть небольшое усложнение необходимости использования протокола on-top для обмена сообщениями, превышающими один байт.

В большинстве случаев максимальная скорость передачи данных в сети и время ожидания ограничены ограничениями на phy и route. Рассматривая один пакет между двумя одноранговыми узлами, не имеет большого значения, какой IP-протокол вы используете с помощью уродливых маршрутизаторов, c-ограниченных спутниковых каналов, перегруженных волокон, шумных и повторно передаваемых микроволновых/Wi-Fi/3G-соединений, В любом случае, медная медь наполнит вас.

+1

Предполагаю, что отключение алгоритма nagle потребует копирования и редактирования реализации TCP? – user997112

+0

@ user997112 - нет, это опция сокета - вы можете отключить его. –

+0

Спасибо Мартину. Я предполагаю, что это только настраивается в Unix? – user997112

0

Ответ через courier pigeon. Другие альтернативы включают sneakernet и autonet. Я предпочитаю велосипед.

Смежные вопросы