【发布时间】:2020-10-02 13:02:42
【问题描述】:
我正在尝试学习 NodeJS 的“net”模块,但我遇到了一个烦人的问题。我的代码在 2 个脚本中。
//index.js
var net = require("net")
var server = net.createServer(socket=>{
socket.write("Hello!")
})
server.on("error", err=>{
console.error(err)
})
server.listen(50001)
和
//client
var net = require("net")
net.createConnection({
host:"localhost",
port: 50001
})
.on("data", data=>{
console.log(data.toString())
})
当我运行 2 个脚本时...
node index.js
node client.js
...消息“你好!”发送给客户端没有问题。如果我 CTRL+C 退出客户端(模拟意外关闭),我会收到以下错误
events.js:174
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at TCP.onStreamRead (internal/stream_base_commons.js:111:27)
Emitted 'error' event at:
at emitErrorNT (internal/streams/destroy.js:82:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
我觉得很奇怪,因为我在服务器上注册了一个“错误”事件。我究竟做错了什么?
【问题讨论】:
标签: javascript node.js error-handling tcp