|
0 / 0 / 0
Регистрация: 07.10.2012
Сообщений: 60
|
||||||
Приват "комната" для чата, как это сделать на сервере?30.03.2013, 18:55. Показов 3641. Ответов 8
Метки нет (Все метки)
Доброго времени суток гос-да.
Появилась потребность в приват "комнате" чата, в которой должно быть не более 7ми клиентов. Если кто знает как это надо правильно реализовать, покажите пожалуйста пример(желательно с комментариями). вот пример сервера в котором надо организовать приват на 7 человек:
0
|
||||||
| 30.03.2013, 18:55 | |
|
Ответы с готовыми решениями:
8
Как сделать чтобы пользователи могли выбирать цвет в чате, а также сделать приватную комнату? API Приват Банк Как используя бота пригласить пользователя в приват канал? |
|
|
|
| 31.03.2013, 01:27 | |
|
Создай класс Room, который будет содержать список этих семи пользователей, а также будет иметь метод обработки входных сообщений, которые помечены, как для комнаты. То есть, в сообщении от пользователя идет номер комнаты, и текст самого сообщения. Делаешь проверку, входит ли данный пользователь в эту комнату, и если да - то рассылаешь всем участникам, нет - тут уже на ваше усмотрение.
Вообще-то, сложно разобратся в 400-та строчках кода, где тупо вывалено всё. Хоть бы сказали, каким образом у вас устроена сериализация сообщений и их отправка.
0
|
|
|
0 / 0 / 0
Регистрация: 07.10.2012
Сообщений: 60
|
||||||
| 31.03.2013, 01:56 [ТС] | ||||||
|
вот пример клиента:
Wolfdp, вообще надо создавать эти приват "комнаты" по совпадению 15-18 условий в сообщениях от клиента, но это понятно будет делать метод обработки сообщений, при совпадении всех условий первые 7 клиентов "закрываются в комнату" там общаются, в то время сервер снова ищет следующих семь кандидатов для "комнаты" и т.д. Добавлено через 2 минуты теоретически я примерно понимаю как это всё должно быть, а вот как это будет выглядеть в коде ... ![]() Добавлено через 3 минуты и как только клиент попадает в "комнату" тут уже сервер начинает ещё и с бд работать(тоже пока ещё не умею)
0
|
||||||
|
|
|||||||||||
| 31.03.2013, 02:15 | |||||||||||
Ну, коль все работает через текст... К примеру, сделай первые три символа сообщения ключевыми, которые показывают, куда, от кого и что за тип сообщения. Ну или чуть сложнее, через регулярные выражения. P.S. Я когда писал чат, юзал бинарную сериализацию BynaryFormatte - избавило от куча проблем.
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 07.10.2012
Сообщений: 60
|
||
| 31.03.2013, 02:25 [ТС] | ||
|
Добавлено через 2 минуты остальное лишнее потом уберётся. это мне пока надо для разных тестов и настроек ![]() Добавлено через 4 минуты а чем BynaryFormatte лучше просто строки?
0
|
||
|
|
|
| 31.03.2013, 02:26 | |
|
И тут я совершенно запутался...
Скажу, как я понял задачу: Есть некий сервер, к которому подключаются клиенты. Сервер работает с БД, которая содержит логины-пароли пользователи. При подключении к серверу, клиент вводит логин/пароль, на сервере это проверяется, и если всё верно, его закидывает в случайную закрытую комнату, где он может общаться только с "находящимися внутри комнаты". Или просто есть несколько комнат, и клиент может выбрать в какую зайти? Без единой общей комнаты?
0
|
|
|
0 / 0 / 0
Регистрация: 07.10.2012
Сообщений: 60
|
|
| 31.03.2013, 02:35 [ТС] | |
|
да, единой общей нет, клиенты должны отбираться строго по условиям, после авторизации сервер пробивает клиента по базе и ставит в очередь пока не найдутся другие клиенты с такими же условиями для общения
Добавлено через 4 минуты к примеру есть 20шт. кнопок, можно нажать только 15, вот у кого эти нажатые кнопки совпадут, те и идут в свою "комнату" Добавлено через 1 минуту мб надо как то создавать временный файл для этого? Добавлено через 48 секунд или в базе добавить 20 столбцов ещё ?
0
|
|
|
|
||||||||||||||||
| 31.03.2013, 02:53 | ||||||||||||||||
|
окей...
после авторизаци, пользователь должен отослать текст вида 11111-11111-11111-0000, где единички - нажатая кнопка. У тебя есть некий класс Room
0
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 07.10.2012
Сообщений: 60
|
|
| 31.03.2013, 03:00 [ТС] | |
|
Wolfdp, Большое спасибо!
ещё не всё понял, голова уже не соображает, завтра продолжу, у меня уже 3ч. ночи ![]() зайдите пожалуйста в эту тему тоже завтра, может быть ещё вопросы будут ![]() ещё раз спс!
0
|
|
| 31.03.2013, 03:00 | |
|
Помогаю со студенческими работами здесь
9
Как в DataGridView отобразить комнаты по этажам? Как сделать так чтобы пользователь выбирая гостиницу показывал свободные комнаты?
Сделать самостоятельный чат, т.е. без отдельного сервера Http-сервер: Как сделать чтоб этот сервер понимал файлы расширением .php и .aspx Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|