powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проверка, подключен ли пользователь
25 сообщений из 36, страница 1 из 2
Проверка, подключен ли пользователь
    #38382228
SlaveOwner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишу некое подобие ICQ на delphi+firebird для нужд организации.
Почему изобретаю велосипед:
- должна быть возможность отправки файлов, даже offline пользователям. Т.е. файл отправили, пользователь через некоторое время открывает программу под своим логином/паролем и ему предлагается загрузить перечень файлов, отправленных ему в его отсутствие.

Пробовал на OpenFire реализовать, но такой функции не нашел.
Все работает прекрасно у меня и сообщения и файлы хранятся в БД, все всем приходит и сообщения и файлы.

Остался последний вопрос: как сделать проверку пользователей: кто подключен к Firebird?
Думал при коннекте писать в таблицу ID пользователя и что он присоединен и Online и при выходе обратное.
Но будут 100% потеря соединения (пользователи будут в разных городах и при потере соединения с интернетом будут обрывы).
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38382232
SlaveOwner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у каждого пользователя создан пользователь в Firebird, т.е. они при коннекте вводят свои данные типа: Иванов пароль: 111, а коннект ищет реальные имена в Фб и соединяется
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38382326
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlaveOwner,

не мучай птичку. Рядом (или не рядом, да хоть на яндексе) с OpenFire размести ftp , рассылай файлы через него, а в составе xmpp - пакета передавай адрес, откуда корреспондент может скачать переданный ему файл.
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38382327
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlaveOwnerкак сделать проверку пользователей: кто подключен к Firebird?

Делай это отдельным сервисом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38382399
rstrelba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlaveOwner,

Файлы всегда вначале заливать в блобы в БД
Твой icq асинхронно с определенной периодичностью опрашивает таблицу с файлами на предмет наличия новых записей.
В такой архитектуре проблем быть не должно
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38382521
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще, имхо, проблема надумана. Это задача клиента - запрашивать список накиданых ему файлов. Если он не ждет этой инфы, то и не поймает файлов (спрашивается, каким макаром предполагается впихивать ему эти данные). А если ждет - пусть сам и запросит.
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38382527
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-BrutalА если ждет - пусть сам и запросит.
А догадаться, что именно сейчас имеет смысл запрашивать он должен как?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38382538
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Dimitry Sibiryakov!
You wrote on 30 августа 2013 г. 15:48:20:

Dimitry Sibiryakov> А догадаться, что именно сейчас имеет смысл
запрашивать он должен как?.. регулярно!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38382553
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийрегулярно!
Да! Чтоб слоники бегали!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38382557
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что за слоники ? :)

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38382588
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Fri, 30 Aug 2013 17:04:20 +0400, Гаджимурадов Рустам <nospam@sql.ru>; wrote:

> Автор: Гаджимурадов Рустам
> Что за слоники ? :)

Кто в армии служил, тот в цирке не смеётся... ;)

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38382589
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovА догадаться, что именно сейчас имеет смысл запрашивать он должен как?..

А как "догадываются" все мейлеры, агрегаторы rss и прочего? Да, регулярно теребят сервер. И это нормально.
Можно сделать и событием, только придется еще предусматривать возможность того, что оно не будет принято, и генерировать его повторно при следующем коннекте.
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38382593
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, любопытно узнать, каким образом организована доставка сообщений.
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38382594
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-BrutalА как "догадываются" все мейлеры, агрегаторы rss и прочего? Да,
регулярно теребят сервер.
Вменяемые - не теребят. IMAP4 это вам не тут!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38382596
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DS> Вменяемые - не теребят. IMAP4 это вам не тут!

Учитывая, когда он появился и насколько
распространен - сомнительное утверждение.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38382719
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

что ни говори, а принцип "коннект - запросить - получить - дисконнект" по сравнению с "коннект - держать коннект - слушать, вдруг сервер что-то скажет - получить, если сказал - снова слушать" намного более проста, надежна и обкатана годами.

Но опять же, интересно узнать, как реализована доставка сообщений. На основе этого механизма сделать отправку файлов не так уж сложно, кмк
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38383455
SlaveOwner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-BrutalНо опять же, интересно узнать, как реализована доставка сообщений
События, Post_event
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38384343
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В таком случае, и отправка файлов делается по той же схеме. Проверка подключенности юзера тут особо не нужна
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38384346
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А, понял. Вопрос в том, отправлять ли событие о наличии файла или просто складывать в хранилище? Ну, я вижу тут только введение таблицы юзеров, находящихся в онлайн. Все равно ведь это нужно, чтобы другие юзеры могли видеть, на месте ли их собеседник. Поддержание актуальности данных в этой таблице вешается на триггеры по коннекту/дисконнекту.
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38384503
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal Поддержание актуальности данных в этой таблице вешается на триггеры по коннекту/дисконнекту.
В первом же сообщении ТС написал:
Думал при коннекте писать в таблицу ID пользователя и что он присоединен и Online и при выходе обратное.
Но будут 100% потеря соединения (пользователи будут в разных городах и при потере соединения с интернетом будут обрывы).
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38384576
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miwaonline,
ну да. Значит, все верно сделал :). А насчет обрывов - даже если внезапно разорвать соединение на клиенте, на сервере все равно возникнет событие дисконнекта. Если же предусмотреть случай отключения сервера (при этом таблица онлайна не очистится), то надо делать дополнительные проверки. У меня похожая задача, я добавил в таблицу текущих подключений время коннекта и время последней активности (в моем случае таблица исключительно для целей мониторинга, поэтому актуальность данных в ней не критична; соответственно отдельных процедур чистки "мертвых" юзеров я делать не стал). соответственно "мертвые" юзеры определяются на глаз. Можно завести отдельную задачу планировщика, которая будет выполнять отстрел "неотчитавшихся" юзеров раз в пару минут (потребуется сторонний софт планировщика + скрипт + isql).
Вообще для таких случаев идеально подошла бы in-memory таблица, но, к сожалению, в ФБ такой нет.
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38384664
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutalmiwaonline,
ну да. Значит, все верно сделал :). А насчет обрывов - даже если внезапно разорвать соединение на клиенте, на сервере все равно возникнет событие дисконнекта.

Угу. Через два часа на винде по дефолту.
Fr0sT-BrutalВообще для таких случаев идеально подошла бы in-memory таблица, но, к сожалению, в ФБ такой нет.
А каким образом в этой таблице появится информация, которой еще нет в ТРС/ІР стеке ОС?
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38384735
SlaveOwner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Долго отсутствовал, проблему решил с помощью MON$ATTACHMENTS
В принципе, все решилось, буду тестировать - работа покажет подводные камни
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38384739
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlaveOwnerбуду тестировать - работа покажет подводные камни
Vогу огорчить тебя прямо сейчас: обычные пользователи видят в MON$ATTAHCMENTS только себя.
А по разрыву связи исчезают оттуда только через тот же KEEP_ALIVE таймаут.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проверка, подключен ли пользователь
    #38385023
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miwaonlineА каким образом в этой таблице появится информация, которой еще нет в ТРС/ІР стеке ОС?
Я про то, чтобы таблица очищалась при рестарте сервера, а ты о чем?
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проверка, подключен ли пользователь
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]