Форум программистов, компьютерный форум, киберфорум
Node.js
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 27

Служебные сообщения через чат

31.10.2017, 21:53. Показов 1030. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите как решить такую проблему.
Есть программа на ноде, в ней реализован чат, плюс через чат планируется передавать "служебную информацию". С самим чатом проблем никаких нет, но как передавать "socket.broadcast.emit" при выполнении определенных условий.
часть index.js

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
io.on('connection', function (socket) {
  socket.on('new message', function (data) {
  ...
  });
  function someFunction(data){
    socket.broadcast.emit('some_message', data);
  }
  socket.on('add user', function (username) {
  ...
  });
  socket.on('disconnect', function () {
  ...
  });
});
 
 
function smallCheck(data){
  someFunction(data);
}
function bigCheck(data){
  someFunction(data);
}
setInterval(smallCheck, 60000);
setInterval(bigCheck, 60000*60);
Если smallCheck и bigCheck расположены за пределами "io.on", то someFunction не работает.
Если внутри расположить вместе с setInterval, то судя по логам, срабатывания происходят чаще чем 1 раз в минуту, и чем дольше наблюдать, тем чаще происходят срабатывания. Максимально видел 8 срабатываний в минуту.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.10.2017, 21:53
Ответы с готовыми решениями:

Служебные сообщения
Всем привет. 8.2 Можно ли в режиме Предприятия выводить в окно "Служебные сообщения" не просто текст, а Ссылки кликая по которым...

Чат через интернет: приложение падает после отправки сообщения
Ребята...тут такая проблема! Есть чат, можно общаться как по локалке, так и по интернету!!! Когда отправляю сообщение со своего компьютера...

Не выводит в служебные сообщения. Что делать ?
Доброго. Открыл конфигуратор. Создал обработку. Написал там следующее: Сообщить("фывафыва"); Жму выполнить. Открывается 1С...

2
Coding is art
Эксперт JS
540 / 423 / 154
Регистрация: 04.09.2013
Сообщений: 1,066
01.11.2017, 10:36
Ваш код не имеет смысла..
В том плане что io.on('connection'..) выполняется для каждого подключаемого к сокету пользователя, а затем вы хотите по тймауту эммитнуть всем остальным участникам что-то.. что бы это праавильно реализоваать вам нужжно будет собрать все сокеты в массив и затем эмитить внутри интервлов, что будет овер для юзеров т.к. они будут видеть сообщение кол-во раз === кол-ву подключенных пользователей.

Цитата Сообщение от Levikov Посмотреть сообщение
socket.broadcast.emit
посылает сообщение всем, кроме даанного участника

Вам нужно использовать что-то типо:
JavaScript
1
io.local.emit('an event', { some: 'data' });
тогда его увидят все, даже тот кто отправлял..
и он будет доступен в интервале.

Если же вы хотите использовть socket.broadcast.emit, то с наружи он не доступен и делтаь что бы был - глупо.
1
0 / 0 / 0
Регистрация: 19.01.2015
Сообщений: 27
01.11.2017, 11:14  [ТС]
Спасибо попробую. Я думал просто с сервера отправлять сообщения, когда наступает событие. С Socket не работал раньше, да и с программированием на ВЫ.

Добавлено через 34 минуты
Спасибо большое, все заработало)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.11.2017, 11:14
Помогаю со студенческими работами здесь

Как отключить в Olecontainer служебные сообщения Word?
Как отключить в Olecontainer служебные сообщения Word? А то при открытии файла пишет иногда про макросы, притом естественно не в главном...

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

Отправка сообщения в конкретный чат Skype
Добрый вечер! Прошу помощи. Не могу добиться, чтобы заработал код: отправить сообщение в конкретный групповой чат с указанным именем через...

ребята написал чат ) но не высвечиваются сообщения!
сверялся с примером если что ибо ajax плохо знаю.сохранение в базу тоже не проходит <?php // Указываем тип и кодировку ...

Чат: сообщения клиента не попадают в ListBox
Решил написать чат и столкнулся с такой вот проблемой что не выводятся в listbox пришедший ответ от сервера public void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru