P2P для чата и/или трансляции сообщений

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

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


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


Ответы (2)


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

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

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

person Travis    schedule 26.07.2012
comment
Привет... Вы сделали это в Android или JAVA? Я пытаюсь реализовать то же самое в Android, в Java он работает нормально, но создает проблемы в Android. - person Vaishali Sharma; 30.12.2014

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

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

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

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

person Jérôme Verstrynge    schedule 18.03.2011