Остальные темы, которые не вошли в основные разделы
AlexSTAL
Буду краток, но по делу

К корпоративному программного обеспечению всегда существуют определённые требования, к примеру, главные для меня:
- клиент-серверная архитектура (централизованное администрирование, логирование истории переписки), не зависимость от внешних серверов (от наличия интернета)
- 100% гарантированная доставка сообщений (как OnLine так и OffLine)
- иерархический справочник абонентов, администрируемый централизовано
- массовая (выборочная) отправка уведомлений с обязательным прочтением пользователем (и получении отчёта об их прочтении)
- шифрование и компрессия всей передаваемой информации
- жёсткий контроль изменения настроек пользователем (важно: не возможность закрытия программы пользователем)
- частично: избежание контактов извне (обмен сообщениями только внутри компании/ГК)

Всем этим потребностям по большей части удовлетворяет только MyChat.
Все мелкие недоработки и ошибки устраняются достаточно оперативно.
Вот моя старая тема о поиске нужного функционала: viewtopic.php?f=1&t=955

Чего мне катастрофически не хватает:
1. Топологии серверных частей. Представим себе два филиала по 100 человек в каждом. Сервер стоит в одном определённом филиале. Один из филиалов "отваливается" и лишается возможности общаться внутри себя.
2. Клиентов для разных ОС: Mac, Android, BlackBerry, iPhone, Nokia, SDK и т.д.
Аватара пользователя
Алексей Пикуров
Благодарю за отзыв.

Насчёт объединения нескольких серверов мы думали, но пока что нет ясного понимания, как это реализовать. Любые полезные мысли принимаются. Клиент под андроид находится в разработке.
Аватара пользователя
March Tom-Cat
AlexSTAL писал(а):Чего мне катастрофически не хватает:
1. Топологии серверных частей. Представим себе два филиала по 100 человек в каждом. Сервер стоит в одном определённом филиале. Один из филиалов "отваливается" и лишается возможности общаться внутри себя.

Прошу прощения, может быть влезаю не туда куда нужно, но все это прекрасно выполняется средствами коммуникаций:
Условия:
1. А - головной офис (где сервер MyChat (192.168.1.33), порт сервера 2004), его белый IP (файрвол) 100.100.100.100
2. Б - удаленный офис, белый IP 100.100.100.101 (кстати белый IP не обязателен), установлены клиенты.
Решение:
1. В офисе Б ставим клиента, в качестве IP адреса сервера указываем белый IP файрвола офиса А (100.100.100.100), порт указываем 47 000 (перестраховка)
2. В офисе А настраиваем файрвол, таким образом, что бы он принимал пакеты с адреса 100.100.100.101 на порту 47 000, и пробрасывал их на 192.168.1.33 на порт 2004.
3. Возможно понадобится "допроброс" нужных портов от клиента к серверу, но это уже монитором можно отловить, или у разработчиков спросить, какие еще порты нужны.
Профит! :o

Канал связи между офисами, при этом, должен быть способен пропустить через себя весь поток информации (включая файлики и картинки).

По поводу мультисерверной реализации.
Необходимо пересылать между серверами:
1. Настройки при изменениях (изменили настройки на А, необходимо из перебросить на Б).
2. Раз в какое-то время полностью обмениваться конфигурацией.
3. Перебрасывать сообщения (и файлы) пользователей.
Вся "соль" состоит в проблеме одновременного изменения одних и тех же данных...
Как вариант можно сделать Master-Slave сервера. Изменения происходят только на Master-сервере, а Slave сервера их получают и применяют в своих сетях.
AlexSTAL
March Tom-Cat писал(а):
AlexSTAL писал(а):Профит! :o


Какой профит? У филиала интернет отрезали ножницами......
Аватара пользователя
Алексей Пикуров
March Tom-Cat, день добрый. Это называется port mapping, собственно так обычно и делается подключение внешних клиентов из Интернета из-за NAT к серверу MyChat, который находится за "белым" IP, внутри корпоративной локальной сети. Это, вообще говоря, общая схема, она не только для MyChat работает, понятное дело.

Касаемо Master-slave серверов. У нас вот такой вариант в проекте, его можно реализовать относительно малой кровью.

Полную синхронизацию делать очень и очень накладно и до конца неясно, как. База данных это ещё ладно, а вот что делать с онлайновыми структурами данных - это полный абзац :) Если хотите - создайте новую тему в "Предложениях и пожеланиях", там попробуем обсудить, может, что-то путное и получится. Но на данный момент ничего более толкового, чем в моей ссылке выше, нам придумать не удалось.
Аватара пользователя
March Tom-Cat
AlexSTAL писал(а):
March Tom-Cat писал(а):
AlexSTAL писал(а):Профит! :o


Какой профит? У филиала интернет отрезали ножницами......

Тогда вам и многосерверная конфигурация не поможет... :roll:
В лучшем случае будет сервер в А, сервер в Б, пользователи А НЕ видят пользователей Б, Б тоже не видят А.
И так будет до тех пор, пока клеем не приклеят интернет к обоим офисам. :wink:
Либо пока сами не проложите линии связи между ними. :twisted:
Аватара пользователя
Алексей Пикуров
В этом-то и суть. Даже если отвал связи будет между центральным офисом, где работает сервер, чтобы все люди в офисе, у которого не стало Интернета, смогли всё равно работать в чате, общаясь между собой в пределах своего офиса. А когда коннект с ЦО восстановится, чтобы опять все вместе были.
AlexSTAL
March Tom-Cat писал(а):В лучшем случае будет сервер в А, сервер в Б, пользователи А НЕ видят пользователей Б, Б тоже не видят А.
И так будет до тех пор, пока клеем не приклеят интернет к обоим офисам. :wink:
Либо пока сами не проложите линии связи между ними. :twisted:

Вы кажется вообще не в теме
Аватара пользователя
March Tom-Cat
Алексей Пикуров писал(а):Полную синхронизацию делать очень и очень накладно и до конца неясно, как. База данных это ещё ладно, а вот что делать с онлайновыми структурами данных - это полный абзац :) Если хотите - создайте новую тему в "Предложениях и пожеланиях", там попробуем обсудить, может, что-то путное и получится. Но на данный момент ничего более толкового, чем в моей ссылке выше, нам придумать не удалось.

Вот Мультисерверная конфигурация.

AlexSTAL писал(а):Вы кажется вообще не в теме

Как Вы излагаете свои мысли, так я их понимаю, или не понимаю...