Jump to content


Photo

Как организовать чат?


  • Please log in to reply
2 replies to this topic

#1 maxpetruk

maxpetruk

    Member

  • Members
  • PipPip
  • 21 posts

Posted 25 November 2012 - 04:45 PM

Как лучше организовать чат обмен сообщениями между пользователями.
Основной вопрос как обновлять информацию, через таймер дергать постоянно БД не хочется.
Какие есть простые варианты реализации?
  • 0

#2 Stas

Stas

    Advanced Member

  • uniGUI Subscriber
  • PipPipPipPip
  • 176 posts
  • LocationKiev Ukraine

Posted 26 November 2012 - 07:58 PM

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

Добрый вечер, предположим у Вас есть уже такой чат в стандартном приложении (не унигуи), причем организован он не через сокеты, а посредством базы данных.
Как Вы будете поступать в этом случае ?
  • 0

#3 maxpetruk

maxpetruk

    Member

  • Members
  • PipPip
  • 21 posts

Posted 27 November 2012 - 09:44 PM

В данном случае буду использовать ивенты БД, то есть во время обновления таблицы база данных рассылает сообщения ивента с параметром адресата (получают все клиенты, и обновляются те у которых совпал параметр, например по уникальному идентификатору клиента)

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

Насколько мне известно существуют различные ухищрения для реализации псевдо-двунапарвленого общения сервера с клиентом:
long polling, commet, reverse ajax - все это практически псевдонимы (можно почитать на википедии)
а также существует новая технология websockets как часть стандарта HTML5 которая видимо действительно обеспечивает этот механизм связи.
Даже есть компоненты для делфи. Как их прикрутить к уни гуи, я уже задавал вопрос но к сожалению без ответа он:
http://forums.unigui...-server-client/

Надеюсь найдутся люди которые все таки прояснят эту важную тему :)
  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users