我使用 node.js 和 NET 类来连接多个 Rasperry Pi。
//Server
const net = require('node:net');
const server = net.createServer();
//Client
const tcpConnect = net.createConnection(SERVERINFO);Run Code Online (Sandbox Code Playgroud)
因此我可以轻松注册多个客户端、打开/关闭流。一切正常,没有任何问题。
但现在我注意到回调。
tcpConnect.on('end', () => { console.log('end triggered') });
tcpConnect.on('close', () => { console.log('close triggered') });
tcpConnect.on('error', () => { console.log('error triggered') });Run Code Online (Sandbox Code Playgroud)
如果服务器突然断电(例如电源被拔掉),则无法工作。客户端不会触发错误/结束或关闭,因此我无法正确关闭连接。因此,直到下次尝试向现有流写入内容时才会触发错误。但这对我来说不是一个选择,特别是对于“在线监控”。
有谁知道如何立即识别服务器关闭?