node.js - NodeJS“如果在 Socket 发出 'data' 事件时没有侦听器,数据将丢失。”
问题描述
我正在使用 Net 模块在 NodeJS 中制作服务器。它如下所示:
const net = require('net');
server = new net.Server();
server.listen("{port: 80}");
server.on('connection', socket =>{
socket.on("data", ()=>socket.write("Hey there!"));
});
问题是,当我收到对同一个客户的两个非常接近的请求时,只有第一个会得到“嘿!”。回复。
我从网络文档(https://nodejs.org/api/net.html#net_event_data)中读到的是“如果在 Socket 发出 'data' 事件时没有侦听器,则数据将丢失”。()=>socket.write("Hey there!")
我是否丢失了第二个请求,因为当事件到达时我仍在写对第一个请求的响应?
如果是这种情况,当我为他人服务时,如何避免丢失“数据”事件?
解决方案
推荐阅读
- css - 具有相对位置和粘性的 Z 索引不起作用;不起作用
- android - 无法播放视频 VideoView Android 12(错误 (1, -2147483648))
- php - 通过自动单击链接/按钮在页面加载时打开弹出窗口 - WP - Elementor - jQuery
- console - RAD Studio C++ Builder IDE 控制台输出面板
- java - 使用休眠 @ColumnTransformer 进行 Quarkus 数据加密:如何从 application.properties 读取密钥?
- r - 是否可以使用共享的 x 轴创建重叠的 y 轴?
- google-apps-script - Google 幻灯片 - 从脚本更改形状调整
- html - SVG gradient passes gradient color to the next SVG
- github-actions - Github Actions variables point to fork parent
- php - Insert URL in database Codeigniter 3