HostedRedmine.com has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. Read more...
Спецификация к продукту (Alpha)
Technical documentation
2014-05-19
Продукт это разрабатываемое на Python приложение для мгновенного обмена сообщениями между пользователями, состоит из двух модулей:
Сервер - работает на удаленной машине и обрабатывает входящие запросы от пользователей.
Клинет - клиентская сторона приложения, отправляет запросы и сообщения, все коммуникации с абонентами, осуществялются посредством запросов, которые обрабатывает и перенаправляет сервер.
База данных - на раннем этапе это просто список с индексом, где будут храниться данные о зарегистрированных абонентов, для роутинга сообщений между ними.
Задачи для Серверной части:
Сервер работает на своем ip адресе и слушает свой порт.
В настройках сервера можно указать количество обрабатываемых подключений от клиентов. Сервер соединен с базой данных, откуда он берет ip адреса абонентов, а также авторизует их в системе.
adressDB=[]
sockInfo = sock.recv(16)
sockInfo in adressDB:
if True:
#creating connection
else:
adressDB.append(sockInfo)
#creating connection
Часть кода демонстрирующая работу базы данных(поиск пользователя в базе)
Функция контакт листа:
пользователь может заносить информацию о своих контактах в контакт-лист, при попытке вызвать
абонента, сервер предварительно проверит его доступность. Если контакт в сети, абоненту будет отправлено приветственное сообщение, и установлено соединение для
начала диалога. В противом случае клиент увидит сообщение о том что абонент на данный момент недоступен.
#При регистрации в программе, клиент отправляет данные о логине и пароле на сервер
#Сервер проверяет в базе данных наличие присланного логина. Если указанного логина нет, сервер отправляет запрос с предложением зарегистрироваться
#В окошке программы регистрируемся, отправляем данные на сервер, данные заносятся в базу даных.
#Если пользователь зарегистрирован в системе, сервер готовится принять второй пакет данных от клиента, в котором указаны данные с каким абонентом установить связь