Форум программистов, компьютерный форум, киберфорум
Node.js
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
32 / 25 / 12
Регистрация: 24.01.2011
Сообщений: 564

Нехватка памяти, при подключении через socket

18.10.2024, 12:26. Показов 2208. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
25
26
27
28
29
30
31
32
33
34
35
36
37
import { Server } from "socket.io";
import { createAdapter } from "@socket.io/mongo-adapter";
import { MongoClient } from "mongodb";
 
    const DB = "mydb";
    const COLLECTION = "socket.io-adapter-events";
 
    const io = new Server();
 
    const mongoClient = new MongoClient("mongodb://localhost:27017/");
 
    await mongoClient.connect();
 
    io.on('connection', socket => {
        socket.on('mess', async (mess) => {
            try {
                const database = mongoClient.db('test');
                const messages = database.collection('test');
                //const coin = await messages.findOne({ exchange: mess.exchange, s: mess.s });
 
                await messages.replaceOne({ exchange: mess.exchange, symbol: mess.symbol }, mess, {upsert: true});
                //console.log('Inserted documents =>', insertResult);
 
 
 
            } catch (e) {
                console.log(e.message)
            }
        })
    })
 
 
    const mongoCollection = mongoClient.db(DB).collection(COLLECTION);
 
    io.adapter(createAdapter(mongoCollection));
    io.listen(3000);
    console.log('Server is running!')
взял пример из документации socket, добавил этот код

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 io.on('connection', socket => {
        socket.on('mess', async (mess) => {
            try {
                const database = mongoClient.db('test');
                const messages = database.collection('test');
                //const coin = await messages.findOne({ exchange: mess.exchange, s: mess.s });
 
                await messages.replaceOne({ exchange: mess.exchange, symbol: mess.symbol }, mess, {upsert: true});
                //console.log('Inserted documents =>', insertResult);
 
 
 
            } catch (e) {
                console.log(e.message)
            }
        })
    })
код клиента
JavaScript
1
2
3
4
5
6
7
8
9
const gate = io('http://localhost:3000/')
 
gate.on("connect", ()=>{
    console.log('client connect')
})
 
//получаем данные и отправляем на сервер mongo
 
gate.emit('mess', coin)
и через некоторое время появляется ошибка
Code
1
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
изменял выделенение памяти на 4гб, все равно появляется эта ошибка
подскажите, пожалуйста в чем проблема?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.10.2024, 12:26
Ответы с готовыми решениями:

Нехватка прав при подключении базы данных
Необходимо создать интерфейс для базы sql. В C# когда пытаюсь подключить базу данных, то мне пишут, что у меня нет на это прав, копался в...

Нехватка памяти при компресии данных
Доброго времени суток :) Нужно написать алгоритм сжатия данных для архиватора ( zlib и т.д. использовать нельзя все руками), за основу...

Нехватка памяти при выбросе исключения
Собственно, наткнулся на проблему //Если здесь для создания std::string не хватит памяти, то вылетит std::bad_alloc, вместо...

21
428 / 317 / 115
Регистрация: 28.08.2013
Сообщений: 891
26.10.2024, 04:38
Студворк — интернет-сервис помощи студентам
Цикл "for in" не для асинхронных операций. Есть for await...of.
JavaScript
1
2
3
for await (const coin of coins){
    await mongoCollection.replaceOne({ exchange: coin.exchange, symbol: coin.symbol }, coin, {upsert: true});
}
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
27.10.2024, 19:53
kidASM, for await для асинхронных итераторов. Если итератор не асинхронный, то нужен обычный for of с await внутри.

Итерироваться обычным for of по асинхронному итератору вообще не вышло бы, так что у ТС не он.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.10.2024, 19:53

Нехватка памяти при пролистывании страниц
Здравствуйте! Столкнулся со следующей проблемой. Я явлюясь администратором крупной Facebook-группы, в которой каждый день...

Нехватка памяти при работе с БД Oracle 11g при вставке нескольких сотен тысяч строк
Доброго дня, уважаемые форумчане. у меня внезапно возникла проблема нехватки памяти во время отправки запросов Insert в БД. Данных ОЧЕНЬ...

Недостаточно памяти для завершения операции, при подключении через RDP, Windows server 2012R2
помогите разобраться почему не пускает удаленно на сервер пишет недостаточно памяти для завершения операции? В чем может быть косяк?

Нехватка памяти при создании маленького массива
Здравствуйте. Я пытался создать массив весовых коэффициентов, при написании нейронной сети из пяти слоев по 1024х768 нейронов каждый. ...

Нехватка памяти при операции bmp = new Bitmap
Впервые столкнулся с OutOfMemoryException, объясните, пожалуйста, в чём я ошибся, и как исправить private void...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru