Возможно ли создать мессенджер ЛВС (с проверкой пользователя) без центрального сервера? - PullRequest
0 голосов
/ 18 сентября 2011

Можно ли создать мессенджер ЛВС (с проверкой пользователя) без центрального сервера? ..

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

Ответы [ 4 ]

0 голосов
/ 18 сентября 2011

Вы можете попробовать использовать DHT в качестве базовой системы. Он должен иметь возможность обрабатывать все коммуникации между узлами сети, а также распределенное хранение данных. Новый узел может присоединиться, если ему известен хотя бы один узел, который уже находится в сети. И узел может отправить сообщение другому узлу, если он знает свое имя ip или dns.

P.S .: Если вам интересна идея, вы можете взглянуть на Open Chord . Единственный его недостаток - отсутствие постоянства, т. Е. Данные не хранятся нигде, кроме оперативной памяти, поэтому вам необходимо добавить свое постоянство.

P.P.S .: вы можете создать новый скайп, но без центрального сервера

0 голосов
/ 18 сентября 2011

Если под сервером вы имеете в виду без центрального компьютера, то да, вы можете (с любым компьютером, который слушает и динамически берет на себя роль сервера, или что-то вроде того, что все являются одновременно сервером и клиентом). Это может работать как p2p.

Вы также можете использовать сообщения Brodcast для достижения этой цели. Аутентификация пользователя - это проблема, но вы можете хранить идентификаторы пользователей и хэшированные пароли на каждом компьютере (и синхронизировать его как можно чаще)

0 голосов
/ 18 сентября 2011

Я реализовал это несколько лет назад: в основном я прослушиваю порт UDP каждый раз, когда пользователь открывает свой клиент (я сделал это отдельным потоком), который принимает определенный тип pkt, определяющий имя пользователя, пользователь ip и так далее ... Таким образом, у меня есть своего рода механизм p2p.

Авторизация пользователя достигается зашифрованным путем хранения пароля пользователя (sha5 и т. д.)

0 голосов
/ 18 сентября 2011

Вы можете сохранять данные локально на каждом компьютере.

...