LINUX.ORG.RU

Вот раньше был такой мессенджер: ICQ. А какой там был backend?

 


0

2

Как физически сообщеньки лежали? В какой-то реляционке или что-то самописное было?

Чё-то всё вдруг начали обсуждать как сообщеньки хранил клиент, а вопрос был о том, как был сделан бакенд. Тред засрали, ответа на вопрос так и не подвезли. Тред помер.



Последнее исправление: igloev (всего исправлений: 2)

Это же не опен сорс, кто ж тебе расскажет. По-моему там вообще никак они не лежали, просто передавались от клиента к клиенту. Ну майор на ленту писал, ясное дело.

Legioner ★★★★★
()

А тебе какое дело?

anonymous
()

Оно не было централизованн, сервер лишь передавал сообщение клиенту и все. А как они лежали у тебя на ПК - базу ставить не требовалось, значит, скорее всего, просто в виде лога.

Zhbert ★★★★★
()
Последнее исправление: Zhbert (всего исправлений: 1)
Ответ на: комментарий от Zhbert

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

Morin ★★★★
()
Ответ на: комментарий от Zhbert

Да, вроде раньше в виде XML просто было, потом стало бинарным. Но еще от клиента зависит.

Zhbert ★★★★★
()
Ответ на: комментарий от Morin

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

Насколько я помню, сообщения в офф не приходили. Но могу ошибаться, лет 12 уже ее не пользовал.

Zhbert ★★★★★
()
Ответ на: комментарий от Morin

Хотя ты знаешь, сейчас всплыло в голове, что вроде при загрузке QIP сразу показывал офф сообщения, да.

Но факт остается фактом - подтянуть историю с сервера, как в телеге, было нельзя.

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

там владельцев и писателей как минимум трех помню, протокол менялся, механизмы тоже

Morin ★★★★
()
Ответ на: комментарий от Zhbert

А как они лежали у тебя на ПК - базу ставить не требовалось, значит, скорее всего, просто в виде лога.

Эм, в QIP и Miranda было что-то типа sqlite.

А отдельную MySQL-базу требуется ставить лишь для наркоманского софта, вроде того что обитает в KDE.

EXL ★★★★★
()

Там же история длинная:

  • сначала были создатели, всё покрыто мраком
  • потом AOL, два типа общения между клиентскими приложениями было - через сервер и direct, вопрос о БД остаётся открытым, но бэкенд точно в этот момент уже был.
  • потом сервис купили «русские», но вроде как OSCAR не меняли особо
  • кмк, года два назад майлрушечка вместе с новыми фичами и поменяла протокол, соответсвенно в эитот момент точно появилось хранение сообщений на сервере.
vvn_black ★★★★★
()
Ответ на: комментарий от Zhbert

Насколько я помню, сообщения в офф не приходили. Но могу ошибаться, лет 12 уже ее не пользовал.

Как ты представляешь себе мессенджер, в котором нет доставки off-line сообщений? Такой идиотии даже в ущербных красноглазых Jabber’ах никогда не было.

EXL ★★★★★
()
Ответ на: комментарий от Zhbert

Да, офлайн сообщения приходили. Но если локально историю почистить, то подтянуть её с сервера возможно не было. ЕМНИП.

Ну, а как там инфраструктура была устроена - кто ж знает?! Закрытый проект. Думаю, наверняка, данные хоть какой-то минимальный период хранились на серверах.

Stack77
()
Ответ на: комментарий от EXL

Не помню точно какой конкретно клиент (возможно даже QIP/Miranda), не было никакой базы. А были простые текстовые файлы. Их можно было редактировать/удалять и история менялась себя соответственно.

Stack77
()
Ответ на: комментарий от EXL

У Skype раньше не было такой функции, вместо этого использовались псевдо-оффлайновые сообщения. Сообщения хранились у клиента отправителя и отсылались, когда реципиент появлялся в сети. Если клиенты появлялись в сети в разное время - между ними не было связи.

Leupold_cat ★★★★★
()
Последнее исправление: Leupold_cat (всего исправлений: 1)
Ответ на: комментарий от Stack77

Не помню точно какой конкретно клиент (возможно даже QIP/Miranda), не было никакой базы. А были простые текстовые файлы. Их можно было редактировать/удалять и история менялась себя соответственно.

Вот и я то же самое помню. Хотя у QIP’а вроде да, в каких-то своих файлах лежало.

Zhbert ★★★★★
()
Ответ на: комментарий от Stack77

Не помню точно какой конкретно клиент (возможно даже QIP/Miranda), не было никакой базы. А были простые текстовые файлы. Их можно было редактировать/удалять и история менялась себя соответственно.

Это уже детали реализации. В каждом клиенте – своё было.

https://wiki.miranda-ng.org/index.php?title=Plugin:Dbx_sqlite/en

EXL ★★★★★
()
Ответ на: комментарий от Leupold_cat

Всё там есть и давно. Только дебильную систему регистрации изобрели. Нормальный логин теперь взять себе нельзя. По крайней мере так было пару лет назад.

Stack77
()
Последнее исправление: Stack77 (всего исправлений: 1)
Ответ на: комментарий от Stack77

офлайн в скайпе появился только когда его стали торговать туда сюда. до этого был такой себе p2p. не рыба не мясо, если оба клиента серые, месаги все равно шли транзитом через сервер, но надо сказать да, не хранились на сервере. это была фича, но слишком рано, народ не понял, да и сейчас не особо понимает

Morin ★★★★
()
Последнее исправление: Morin (всего исправлений: 1)
Ответ на: комментарий от EXL

Как ты представляешь себе мессенджер, в котором нет доставки off-line сообщений? Такой идиотии даже в ущербных красноглазых Jabber’ах никогда не было.

В жабберах для offline-сообщений нужна поддержка как со стороны клиента, так и со стороны сервера. В icq и skype тех времён была такая же идиотия, и это было нормально.

Laz ★★★★★
()

15 ноября 1996 года Арик Варди, Яир Голдфингер, Сефи Вигисер и Амнон Амир, старшеклассники из Тель-Авива (Израиль), основали компанию Mirabilis и создали интернет-пейджер ICQ.

Можешь найти их в интернетах, написать им и спросить, как оно тогда было

Harald ★★★★★
()
Ответ на: комментарий от EXL

Какую можешь предложить альтернативу, чтобы была полностью децентрализованная, нечитаемая майорами и не палящая IP (при коннектах через tor)? В том числе, чтобы даже заголовки не отсвечивала, т.е. otr через jabber отпадает.

anonymous
()
Ответ на: комментарий от anonymous

В Тох нет возможности отправить сообщение никому, потому что им никто не пользуется

Надо полагать ты по даркнету не шастаешь. Там Tox безальтернативен. Я честно говоря даже и не помню какие еще мессенджеры предлагалось юзать там.

anonymous
()
Ответ на: комментарий от EXL

в QIP

plain text, как минимум на момент 2007-2008 года

и Miranda было что-то типа sqlite

зависело от плагина истории

Turbid ★★★★★
()
Последнее исправление: Turbid (всего исправлений: 1)
Ответ на: комментарий от Zhbert

Насколько я помню, сообщения в офф не приходили. Но могу ошибаться, лет 12 уже ее не пользовал.

Лет 17 назад наш сисадмин поэкспериментировал с доставкой сообщений, когда адресат проводит несколько часов в оффлайне. Терялось 70% сообщений, если правильно помню. То есть сервер как-то хранил, но совсем неправильно.

olegd ★★★
()

никак не хранились, после подтверждения доставки удалялись, да и просто удалялись по timeout, если долго чел offline. Причём подтверждение доставки на плохих каналах не значило что сообщение дошло - потеря сообщений icq на плохих/узких каналах была перманентной на рубеже века. В локальных сетях пересылка сообщений и файлов шла от клиента к клиенту и сервер нужОн был только для авторизации. В общаге был наружный канал одно время 1 kb/sec на человека и соответственно, логин мог идти довольно долго, а дальше пересылка сообщений была уже намного быстрее, но не всегда иногда начинало слаться на сервер и всё становилось плохо и все шли курить :-). История была только локально.

vtVitus ★★★★★
()
Последнее исправление: vtVitus (всего исправлений: 1)
Ответ на: удаленный комментарий

Надо было юзать официальные клиенты. Юзаете всякие васяносборки, а потом на фирму жалуетесь. Причем реклама этих васяносборок на форумах это тоже вредительство. Вот взять хотя бы винду, сколько всяких паков понаклепали, а потом у людей глюки.

rustolover
()
Ответ на: комментарий от rustolover

Надо было юзать официальные клиенты.

Это которые еле ворочались, обладали чудовищным «удобством» и кушали кучу трафика на рекламе? Ню-ню.

vtVitus ★★★★★
()
Ответ на: комментарий от rustolover

Зато ты будешь уником, будешь юзать экзотический софт. И у тебя ничего не отвалится, правда отвалится у других.

rustolover
()
Ответ на: комментарий от EXL

MySQL на десктоп это за гранью вообще. Конечно нужно что-то поинтереснее sqlite, но не настолько же.

Hertz ★★★★★
()
Ответ на: комментарий от EXL

мессенджер, в котором нет доставки off-line сообщений

Аська изначально такой и была. В 2000-м году там не было офлайн сообщений. Там даже не было окна чата в том виде, какой сейчас считают классическим. По крайней мере, по умолчанию. Входящее сообщение открывалось в окошке, где нужно было нажать Reply, ввести ответ и отправить. Интегрированное окно чата появилось то ли в 2000 версии, то ли в 2001. И то в списке контактов было два варианта общения: «отправить сообщение» и «начать чат». Со временем чат стал вариантом по-умолчанию.

В начале 2000-х считалось нормальным не получать сообщения, если ты не онлайн. В IRC так было, и в веб-чатах тоже. Это только сейчас сложно себе представить мессенжер без доставки офлайн сообщений.

i-rinat ★★★★★
()
Ответ на: комментарий от Zhbert

А как они лежали у тебя на ПК - базу ставить не требовалось, значит, скорее всего, просто в виде лога.

Клиентов было более одного. У кого как. У LICQ отдельный лог для каждого ID.

AS ★★★★★
()
Ответ на: комментарий от Zhbert

Насколько я помню, сообщения в офф не приходили.

Приходили.

AS ★★★★★
()

Было несколько поколений:

  • сначала свои файлы (*.dat, *.idx) с некой историей развития формата.
  • кажется в версии 2003b была радикальная смена (*.dbf, *.cdx, *.fpt).
  • позже стали использовать Microsoft Access (*.mdb), когда именно не скажу, но в 7-версии точно.

При желании для всех форматов можно найти описаний и читалки. Еще был зоопарк клиентов, в которых был зоопарк вариантов: от Berkeley DB, до Firebird и sqlite.

Например, в Miranda NG сейчас используется (в виде драйверов-плагинов):

  1. MDBX (libmdbx). Но драйвер к базе был изначально сильно кривой, глючил и мог терять данные, а починили его совсем недавно.
  2. sqlite3. На днях стабилизировали и добавили в стандартную установку.
anonymous
()

Серверный backend хранения много раз сильно менялся, но исходно был личинкой LSM c «шардингом» по директориям и форматом данных сильно похожим в первых версиях storage на клиенте.

При подключении клиента сервак выгружал ему всё что накопилось. Потом работал как pipe пока UIN был в online и сливал в файлики если UIN в off-line.

Оно примерно не ломалось пока была цела FS. Остановка сервера была достаточно нужной процедурой и включая копирование файликов. Если UIN переходил в online во время этой процедуры, то мог получить хранящиеся сообщения позже новых.

Короче, не сложнее squid-а и ничего «военного». Потом был шардинг по UIN-нам и proxy-маршрутизаторы клиентских запросов. Что было в начале нулевых и позже - не в курсе.

anonymous
()

Как физически сообщеньки лежали? В какой-то реляционке или что-то самописное было?
Чё-то всё вдруг начали обсуждать как сообщеньки хранил клиент, а вопрос был о том, как был сделан бакенд. Тред засрали, ответа на вопрос так и не подвезли. Тред помер

Тебе уже ответили, что сообщения не (совсем) хранились.

AOL переписала аську после Mirabilis на своем собственном фреймворке для распределенных систем, писанном на хардкорном Си. У них даже свой TCP/IP стэк в процессе сервера был вместо ядерного — настолько всё было хардкорно. Потому что в те годы (девяностые) у опенсорсных никсов сеть работала через анус, и единственной осью, которая позволяла вытягивать большое число одновременных соединений, как ни странно, была Win NT 3.5. По крайней мере, на соответствующем железе. По аналогичному AOL пути пошла, например, Cisco, которая, однако, свои реализации сетевых алгоритмов засунула в единый монолит, без защиты памяти. Уже в начале нулевых эстафету подхватили линь, AIX, FreeBSD — откуда и получится nginx.

byko3y ★★★★
()
Ответ на: комментарий от EXL

И в телеге в секретных чатах нельзя [вроде было, если не изменили, это типа как фича]. Пока телефон из «авиарежима» не выйдет, оно просто не доставлялось. Но можно было переотправить вручную, когда телефон собеседника появится в сети.

А почему это какая-то проблема для тебя?

anonymous
()
Ответ на: комментарий от Stack77

А это «давно» — уже не Skype.

Когда майки купили Skype, они вначале объединили его мостом с web-версией собственного мессенджера — MSN Live!, потомка того самого Windows Messenger. А через пару лет по-тихому перетащили пользовательскую базу Skype в MSN Live! и натянули на MSN Live! бренд и оформление от Skype, а сам Skype тихо и незаметно похоронили. Окончательно процесс завершился где-то в 2017–2018-м, когда даже у виндузятников окончательно перестали работать старые клиенты, не умеющие в протокол MSNP.

Так что сейчас Skype — это зомби, от которого осталась только оболочка, так же, как и в случае с Nokia, ICQ, Opera, Lenovo, etc.

mertvoprog
()
Ответ на: комментарий от anonymous

А как у тебя вообще что-либо может «доставляться» (на самом деле отправляться) с телефона, в авиарежиме?

anonymous
()
Ответ на: комментарий от rustolover

Винда из коробки к использованию не пригодна и требует напильника. Можно, конечно, взять MSDN-сборку и обшлифовать самостоятельно, но зачем, если эта работа уже проделана васяносборщиками? ;)

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

mertvoprog
()
Последнее исправление: mertvoprog (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.