Форум программистов, компьютерный форум, киберфорум
Сети и средства коммуникаций
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
3 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 248
1

P2p мессенджер

15.02.2017, 15:51. Просмотров 1042. Ответов 1
Метки нет (Все метки)


Здравствуйте

У меня такой вопрос, я на диплом рассматриваю такую тему, как создание мессенджера, но не использующего классическую схему клиент-сервер.
На самом деле сервер присутствовать по плану будет, но исключительно для координации работы сети.

Представляю я себе это вот так:
1) Есть клиентские приложения, при первом заходе в такое приложение будет сгенерирован его уникальный ID (и тут же отправлен в базу данных на координирующем сервере, с этого сервера придет ответ в случае, если такой ID уже есть, тогда в приложении будет сгенерирован другой ID, и опять проверка на уникальность, если ID уникален, то он закрепляется).
2) Есть координирующий сервер, он будет хранить вышеуказанные ID, а так же будет еще одна таблица, которая будет хранить ID сессий (далее IDS)

Работает так:
1) Есть 2 клиента, которые уже имеют уникальные ID, и хотят поговорить.
2) Клиент А заранее зная ID клиента В (например лично узнав у клиента В его ID) пишет ему сообщение.
3) Сообщение отправляется в спец блок для сообщений, который находится у КЛИЕНТА А (то есть по факту никуда это сообщение не отправляется).
4) Клиент А, сохранив сообщение в блоке, обращается к координирующему серверу и отсылает туда в БД IDS (ID сессии) вот так: ID клиента А -> ID клиента B (т.е. в таком виде 1233452341->7563754756), помимо этого клиент А отправляет данные о своих IP:PORT
5) Клинт B (если он в онлайне) опрашивает координирующий сервер (если в оффлайне, то инфа из предыдущего пункта будет храниться на координирующем сервере, пока клиент В не появится в онлайне), и если находит себя в получателях, то, клиент В, получает себе информацию о клиенте А, которую тот отсавил на координационном сервере.
6) С координационного сервера запись стирается.
7) Клиент В, зная IP:PORT клиента A устанавливает с ним прямую связь, и клиент A из блока (из пункта 3) отправляет сообщение клиенту В.
8) Далее, поскольку прямое соеденение установлено, они уже общаются в реальном времени, пока один из клиентов не уйдет в оффлайн, далее все с пункта 1.

А теперь вопросы:
Начиная с 7 пункта я не знаю как реализовывать, ведь провайдеры как правило блокирую многие порты, и описанное мной подойдет либо в локальной сети, либо, если у клиентов будут белые IP.
То есть самый главный вопрос, как эти 2 устройства (клиента) соеденить НАПРЯМУЮ, чтоб даже заблокированные провайдером порты не были помехой.
Тут я так понял мне на помощь должны придти пиринговые сети (торрент ведь как-то работает, не смотря на порты).
Следовательно мне нужна какая-то библиотека, позволяющая такое сделать.
Поскольку приложение я планирую писать под андроид, это должна быть библиотека, которой я смогу пользоваться по средствам Java.
Есть ли такая? Если да, то есть ли к ней нормальная документация, желательно на русском, но можно и на английском.

P.S. В некоторых написанных мною сверху вещах могу ошибаться, просьба не сильно кидаться в меня тапками.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2017, 15:51
Ответы с готовыми решениями:

Сети p2p
Интересует вопрос: можно ли пробиться к компьютеру(клиент1) с другого компьютера(клиент2). Каждый...

Lan WIFi P2P
Здравствуйте! Имеется 2 компютера и wi-fi роутер с точкой доступа. На 1-ом копьютере есть wifi ...

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

Выход в интернет через p2p
Добрый день. Сразу оговорюсь, внутреннее устройство сети знаю не очень хорошо, некоторые термины...

1
1 / 1 / 1
Регистрация: 17.05.2013
Сообщений: 136
21.11.2017, 04:12 2
Up!!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2017, 04:12

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

P2p поисковая система по сайтам интернета
Кто-нибудь подскажет, какую лучше использовать? Хочется, чтобы поисковая система использовала...

Как можно посмотреть торрент tv при заблокированом P2P
драсте подскажите как можно смотреть торрент тв если провайдер заблокировал торренты у меня есть...

Роутер с фильтрацией медиа и p2p
Добрый день, помогите пожалуйста с выбором маршрутизатора, которой способен блокировать аудио и...

DSR 500 ,блокировка p2p
Добрый день,не подскажете имеется ли возможность заблокировать p2p на 500 дср? а то торрентщики...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.