1

Тема: Як краще відправляти клієнтам повідомлення?

Ото дивіться, 1000 клієнтів шлють серверу повідомлення, деякі повідомлення не треба перенаправляти всім іншим клієнтам, а деякі треба. От як його зробити, щоб все гарненько було і не тормозило? Ну щоб 1 клієнт відправив повідомлення, і воно відразу щоб відправилось всім іншим клієнтам. І так, треба зробити, щоб все було дуже оптимізовано. Ну тут два варіанти я надумав, збирати повідомлення в купу, а потім вже відправляти цю купу всім іншим клієнтам, або робити на кожного клієнта свій потік, ну thread, і в ньому приймати і відразу відправляти повідомлення всім іншим клієнтам. Але дивіться, колекція з клієнтами ж буде блокуватись на той час, котрий потрібен серверу, щоб дістати з тої колекції клієнтів необхідного клієнта і йому відправити повідомленння, а ще ж деякі клієнти можуть додаватись та видалятись з колекції в цей час.. Ну той, як краще організувати оце все, ну щоб клієнти могли передавати та отримувати повідомлення через сервер?

2

Re: Як краще відправляти клієнтам повідомлення?

amqp

3

Re: Як краще відправляти клієнтам повідомлення?

miroslav.chandler написав:

amqp

ну я трохи погуглив, але не наздогнав щось. Це значить треба буде якусь програму-брокер собі качати, а потім за її допомогою якось там обмінюватись повідомленнями? чи це якась абстрактна штука, котра самостійно пишеться на будь-якій мові и використовується як оті дизайн-паттерни?

4

Re: Як краще відправляти клієнтам повідомлення?

Observer Design Pattern
https://stackoverflow.com/questions/229 … -messaging

5

Re: Як краще відправляти клієнтам повідомлення?

да я про це знаю, відюшку дивився, але хз, як це все реалізувати. В мене ж клієнт і видавець, і отримувач інфи. Це треба брати і підписувати кожного клієнта на всіх інших клієнтів, чи що. Ай..

6

Re: Як краще відправляти клієнтам повідомлення?

карочі, буду робити так. Створю ще один потік, та щось типу коллекції з даними. По приходженні від клієнтів якихось данних, я буду заносити їх в ту колекцію і кожний фіксований проміжок часу відправляти дані з колекції користувачам, після чого очищати колекцію буду.

7

Re: Як краще відправляти клієнтам повідомлення?

Хм... я зараз от що подумав... Під'єднався новий клієнт. Він повинен отримувати повідомлення від першого, стопершого та останього. Ми додаємо по обробнику до приймача цих клієнтів. Тепер повідомлення від них будуть перенаправлятися до поточного користувача. Недолік такого підходу: якщо визначати "кому відправляти" необхідно по вмісту повідомлення, то такий підхід не працює.

Треба почитати, доволі цікава тема. )

8

Re: Як краще відправляти клієнтам повідомлення?

ну я не дизайнер, але от якщо заплющити очі і подумати, як би я хтів працювати з системою? то там вимальовуються якісь такі основні концепції того дизайну, ну я маю на увазі не кольори, а саме розміщення всіх елементів та їх форма, ну і т.д. Наприклад, чи можу я поміняти місцями усі ті кнопки? Фінтіклюшки? Зробити аби вони виїзжали десь збоку або зверху, а не просто з'являлись на екрані?