javascript - 如何改进 websocket 'onmessage'
问题描述
我正在学习 websockets,并想制作一个 websocketonmessage
记录器,它将接收到的数据写入 mongodb。
我开始我的脚本
node listner.js
listner.js:
'use strict';
let DBAbstract = require('./db-controller');
const WebSocket = require('ws');
// getting an instance of a mongodb connection
let mongoInstance = new DBAbstract();
const ws = new WebSocket('ws://ws-url');
ws.onopen = function() {
console.log('Open')
};
ws.onmessage = function(d) {
console.log(d.data)
mongoInstance.insertOne(JSON.parse(d.data)) //Promise which add the data
};
ws.onclose = function() {
console.log('Close')
};
ws.onerror = function(e) {
console.log(e.code)
};
到目前为止,我制作了这个脚本并且它有效。
当有一个onmessage
事件时,我会得到一个像这样的小 JSON。
{ "event":2,
"value": 12,
"item": 'Spoon' }
onmessage
我只是想知道就接收到的事件的可扩展性而言,这是否足够。
我的意思是当我在 10 秒内收到三倍的小 JSON 时没有问题。
当我在 10 秒内收到 100 个小 JSON 时会发生什么?onmessage
作为 Client接收事件的限制在哪里?
我的 listner.js 会因为无法处理大量onmessage
事件而崩溃吗?或者我的 mongodb 会因为无法处理数据库写入量而崩溃
我可以改进这段代码吗?
解决方案
推荐阅读
- isabelle - 如何证明一个元素不属于inductive_set
- javascript - 添加未附加的事件侦听器
- python - 如何查找错误和调试云函数?
- knative - 如何使用 cloudevents sdk-javascript 回复 CloudEvent
- python - Discord.py - 重新启动命令错误 - RuntimeError:事件循环已关闭
- python - pygame:低 fps 导致难以检测事件
- reactjs - antd modal on modal 点击不打开
- ibm-mobilefirst - Mobilefirst 8.0 错误 IOS 推送通知。无法加载 netty_tcnative_aix_ppc_64、netty_tcnative_ppc_64、netty_tcnative
- scala - 如何在 Play 中返回具有 404 状态代码的资产?
- java - 产品列表不能转换为可迭代类型