передача файлов с использованием p2p-соединения в Java - PullRequest
1 голос
/ 22 декабря 2011

Я хочу передавать файлы, используя соединение p2p. Там будет сервер или любое другое общее место для обмена информацией компьютеров A и B для установления соединения.

Я создал p2p-соединение, используя LAN. Но мой вопрос - для интернета, как я могу определить IP-адреса двух компьютеров для программирования сокетов? или любой другой вариант, чтобы я мог передавать файлы между двумя компьютерами, которые связаны с часто меняющимся IP-адресом?

Заранее спасибо.

1 Ответ

2 голосов
/ 06 января 2012

JXTA - это фреймворк, который может сделать это для вас. Я написал книгу под названием Practical JXTA, которая доступна для чтения онлайн на Scribd. Он содержит полные примеры кода. Вы хотите работать с выпуском 2.6 или 2.7.

Если вы не хотите использовать платформу, ваш центральный узел должен быть в состоянии прочитать NAT-адрес ваших удаленных пограничных узлов, когда они подключаются к нему (см. Socket#getRemoteSocketAddress()). Но это не поможет с TCP (чтобы было проще). Если вы используете UDP, то у вас есть шанс, потому что, как только дыра UDP пробита в NAT, многие узлы могут (обычно) подключиться к нему.

...