2010-12-13 2 views
2

Так что я хочу написать P2P-программное обеспечение, которое может отправлять текстовые сообщения всем узлам, вроде IRC. Какую сеть я рекомендую использовать? Я посмотрел некоторые в DHT Kademlia, и это кажется достаточно простым для реализации, но, похоже, это не полезно для того, что я хочу делать? Какой протокол использует Skype?P2P для сообщений чата и/или вещания

Редактировать: и я забыл упомянуть, что это не должно быть обмен мгновенными сообщениями, латентность в несколько минут более чем приемлема. Я не думаю, что я мог постоянно пытаться получить данные, соответствующие текущему времени каждые пять минут или что-то на всех узлах?

+0

Если это возможно сделать с помощью DHT, это было бы предпочтительнее, поскольку он, как представляется, является наиболее распространенным типом и, следовательно, имеет больше документации. Если возможно, как это сделать? – jondoe

ответ

0

Какую сеть я рекомендую использовать?

Если Java является для вас вариантом, вам следует изучить JXTA и распространенные сообщения.

Я искал некоторые из них в DHT Kademlia, и это кажется достаточно легким для реализации, но, похоже, оно не полезно для того, что я хочу делать.

DHT сообщает вам, где находится ваша информация (т. Е. Какой узел), но не сообщит вам, как получить к ней доступ и передать ее. Последняя проблема довольно технична и включает в себя NAT traversal и TURN или STUNT P2P.

1

Вы говорите «все узлы».

Если вам нужна функция широковещания, я предлагаю использовать Freepastry. Взгляните на учебник для писцов. https://trac.freepastry.org/wiki/tut_scribe

Я использовал бесплатное тесто в качестве приложения для совместного использования файлов и провел довольно много тестирования производительности. Его очень легко реализовать и очень надежно. Отлично работает в моем опыте.

+0

Спасибо, я посмотрю! –

+0

Привет ... Вы сделали это в андроиде или JAVA? Я пытаюсь реализовать то же самое в android, в java он отлично работает, но создает проблему в Android. –