Любые идеи по развитию MyChat. Запросы на новые функции, предложения по улучшению уже работающих сервисов. Если вы знаете, что нужно добавить в MyChat — welcome!
Аватара пользователя
Алексей Пикуров
Здравствуйте, уважаемые пользователи MyChat. В этой теме мы начинаем обсуждение нового открытого протокола.

Последняя версия текстового описания протокола доступна на официальном сайте. Все замечания, вопросы, дополнения и предложения - просим сюда.
Аватара пользователя
dv
защита встанет на коленки
Аватара пользователя
Андрей Раков
Мы ей 3-х-ствольный дробовик подарим, так с колена стрелять удобнее будет :)
Аватара пользователя
Алексей Пикуров
Защита, состоящая в том, что никто не знает, как нападать, потому что протокол закрыт - это плохая защита. Хороший реверс-инженер, достаточно времени - и такая защита упадёт очень быстро и просто.

Другое дело, когда протокол открыт, тут средства защиты от недобросовестных пользователей будет даже проще развивать. Это не значит, что у нас нет никакой защиты в данный момент. Есть.

Но открытый протокол будет стимулировать нас оптимизировать технологии защиты в дальнейшем.
Аватара пользователя
dv
Будем ждать пример на Delphi ..
Аватара пользователя
Алексей Пикуров
Примеры будут после того, как сделаем прототип. От меня лично - на Delphi и FreePascal, от Андрея - на JavaScript, скорее всего.

А пока проектируем протокол.
Михаил
Сложный момент .... А "за костюмчик" кто отвечать будет - общество ? Кто что захотел написал, а стандарты простите ?Что устали от своего чата чтоль, надоело ? Дык а хдеж обещанное голосовое/видео общение ? Хорошо что хоть передачу файла сделали, год пришлось ждать ... Вообчем видать - "мыши плакали, давились, но жрали кактус ...." =)
Аватара пользователя
Алексей Пикуров
Михаил, я не понял о чём вы хотели сказать фразой "А "за костюмчик" кто отвечать будет - общество?". Поясните, пожалуйста. И что вы имеете в виду под стандартами?

Дык а хдеж обещанное голосовое/видео общение ?
В разработке, вероятно, раз его нету ещё. Просьба не оффтопить, тема об открытом протоколе, не более того.
Юрий_urik_g
Ну вообще-то​ даже я понял сразу о чём говорил Михаил написав о костюмчике.... Он имел ввиду шкурку и смайлы используемые для чата - вы же так до сих пор и не сделали, что бы смайлы можно было загружать с сервера! Один фиг, что я напихаю их в клиент - другие пользователи моих смайлов не увидят!!! Вот он и написал - кто будет отвечать за стандарты!?
Volldemar
​Очень хорошее начинание!!!
Лишь бы не заглохло....
Аватара пользователя
Алексей Пикуров
Это не может заглохнуть, даже если нам никто не будет помогать в развитии протокола, потому что нам чисто технически требуется это для работы.
Volldemar
Перед просмотром протокола и естественно его обсуждение и уточнение, не мешало-бы описать, а лучше в диаграмме (ну или любым другим способом), процедуру "общения" между клиентом и сервером. Т.е. какой пакет идёт первым, при старте сервера, какой при старте клиента, какая последовательность, как часто должны идти пинги от клиента, что бы сервер не сбросил соединение... Как вычисляется CRC, т.е. с каким полиномом, с каким начальным значением (к примеру 0xFF или 0x00, или ...)
Аватара пользователя
Алексей Пикуров
Окей, я добавлю последовательность начальных вызовов в документ. CRC32 вычисляется стандартным способом.
Аватара пользователя
Алексей Пикуров
Процедура общения описана в общем виде.

http://www.nsoft-s.com/mychat/MyChatJSONprotocol.txt
Volldemar
Добавить команды для "синхронизации" настроек клиента на сервер. Имею ввиду следующее. В общем случае есть два типа настроек у клиента, те которые делает пользователь - это не зависят от настроек сервера, и серверные настройки, к примеру номера портов встроенного фтп. Так вот, ввести кнопочку, к примеру: "синхронизировать настройки клиента по серверу", ну и естественно команду "cs_xxxxxx", по которой при первоначальном запуске клиент будет "спрашивать" у сервера все серверные настройки, которые установил админ сервера, и после спроса, сервер выдаёт настройки, а клиент эти настройки применяет.
Аватара пользователя
Алексей Пикуров
Серверные настройки и так приходят, это уже реализовано. К ним относятся, например, номера портов серверного FTP. После успешного соединения клиент их "знает".


Насчёт хранения клиентских настроек на сервере - идея интересная, мы над ней думали. Но есть неоднозначности.

С одной стороны, удобно. Если, скажем, система была переустановлена, установили новый клиент, соединились с сервером под старой учёткой и клиент сам настроился, как старый. Не надо ничего заново настраивать. Это удобно.

Но с другой стороны, допустим, под одной и той же MyChat учёткой я работаю на работе и дома, с ноутбука, удалённо. И клиенты настроены по-разному, хотя логинюсь я под одним и тем же UIN-ом. Как быть в этой ситуации?
Volldemar
К ним относятся, например, номера портов серверного FTP. После успешного соединения клиент их "знает"
.​ - странно, у меня почему то после инсталяции клиента, приходится руками настраивать номера портов...
Аватара пользователя
Алексей Пикуров
На клиенте не настраиваются и нигде в интерфейсе не указываются номера портов серверного FTP. Они присылаются с сервера автоматически и запоминаются внутри в программе для дальнейшей работы (вставка/скачивание картинок, "Мои/общие файлы на сервере", отправка/скачивание файлов офлайн).

Это:
1.png

номера портов встроенного в клиент FTP сервера для передачи файлов напрямую между клиентами, если есть прямая видимость в пределах одной подсети, например.
Volldemar
а вот эти тогда на что влияют?
Вложения
2.jpg
2.jpg (7.68 КБ) Просмотров: 2296
Аватара пользователя
Алексей Пикуров
Можно инструмент "синхронизация" добавить что то вроде Opera Link. Кому нужно включит и использует... Но с другой стороны много ли так индвидуальных настроек что оно стоит того?
Аватара пользователя
Алексей Пикуров
А с чем синхронизировать и что синхронизировать, можно поподробнее?
Аватара пользователя
dv
Ну как успехи?
Аватара пользователя
Алексей Пикуров
Делаем потихоньку сами, никто не проявил желания помочь.
Volldemar
​А что то добавилось на страничке описания протокола?
Там до сих пор: "Редакция #3 от 10:15 28.11.2012".
Аватара пользователя
Алексей Пикуров
Добавилось, просто мы пока в паблик не выкладывали, всё равно толковых предложений извне - нет, разрабатываем пока внутри у себя.
Volldemar
​Возможно просто нет на федбеке специалистов Вашего уровя? ;)
По большей части простые пользователи :)
Аватара пользователя
dv
Если я был бы специалист - то помог бы.

Мог бы расширить функционал чата с помощью дополнений. Но пока это возможно только клиентскими плагинами (что будет малоинтересно администраторам серверов).
Аватара пользователя
Алексей Пикуров
А если мы добавим возможность создавать серверные плагины? Это простимулирует вашу деятельность? :)
Аватара пользователя
dv
"Серверные плагины" - это меня и интересовало с самого начала. Т.к. Можно сделать что то достойное и при случае даже получить немного копеечек.
Кажыся, вариант с открытием протокола тоже озадачит шаловливые ручки и разнообразит чат. )
Пока пробовал с клиентским плагином - всё получилось, но не вижу широких перспектив у творения. забросил.​
Volldemar
Думаю будет полезным и необходимымм предусмотреть в новом протоколе возможность автоматического обновления под разные ОСи. Что бы на сервере хранился не только экзешник для вынь, а и файлы под разные Оси. Когда клиент подключается к серверу, то то сервер уже "знает" из какой Оси этот клиент, и соответственно отдавать на обновление соотвествующий файл.
Аватара пользователя
Алексей Пикуров
Volldemar писал(а):Думаю будет полезным и необходимымм предусмотреть в новом протоколе возможность автоматического обновления под разные ОСи. Что бы на сервере хранился не только экзешник для вынь, а и файлы под разные Оси. Когда клиент подключается к серверу, то то сервер уже "знает" из какой Оси этот клиент, и соответственно отдавать на обновление соотвествующий файл.

Я думаю, об этом пока рано говорить. У нас есть на данный момент пока только клиент под Win32. Когда появятся под Linux - тогда и подумаем об этом.
Volldemar
Алексей Пикуров писал(а):
Volldemar писал(а):Думаю будет полезным и необходимымм предусмотреть в новом протоколе возможность автоматического обновления под разные ОСи. Что бы на сервере хранился не только экзешник для вынь, а и файлы под разные Оси. Когда клиент подключается к серверу, то то сервер уже "знает" из какой Оси этот клиент, и соответственно отдавать на обновление соотвествующий файл.

Я думаю, об этом пока рано говорить. У нас есть на данный момент пока только клиент под Win32. Когда появятся под Linux - тогда и подумаем об этом.

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

dv писал(а):Будем ждать пример на Delphi ..