Получать сообщения со всех сокетов, не просматривая все сокеты

Итак, другой причиной, почему вы можете получить эту ошибку, является то, что вы используете одну и ту же модель в разных файлах, но ваш путь require имеет другой случай. Например, в моей ситуации у меня было:

require('./models/User') в одном файле, а затем в другом файле, где мне нужен доступ к модели User, у меня был require('./models/user').

Я предполагаю, что искать модули и amp; mongoose рассматривает его как другой файл. Как только я убедился, что дело соответствовало, это уже не проблема.

1
задан marc_s 31 March 2019 в 06:14
поделиться

1 ответ

Было бы здорово иметь пример Minimal, Complete и Verifiable https://stackoverflow.com/help/mcve , но я дам возможное решение проблемы, с которой столкнулся: как слушать для нескольких сокетов и обрабатывать их сообщения одновременно.

Вы можете запустить один поток для каждого нужного сокета, этот поток чтения прочитает все сообщение и отправит его в список безопасного потока в другом потоке, который я назову поток обработки. Этот последний поток будет применять вашу бизнес-логику к данным, считываемым вашим сокетом, генерировать ответ и отправлять его в другой поток: поток писателя.

Socker -> Readers -> Processor -> Writer

Не запускайте ваши потоки, как в методах Thread3 и Thread2, это требует слишком много ЦП и может замедлить ваше размещение. Заранее создайте темы и начните в соответствующем порядке.

0
ответ дан Gustavo Passos 31 March 2019 в 06:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: