我已经在nodejs中构建了一个小型的基本tcp服务器,并且外部设备可以通过tcp-socket进行连接。
从每个连接的设备我只想存储一个插座,这是该设备的主动打开连接。如果由于某种原因,连接会通过我希望我的服务器知道,做东西的设备关闭(如拼接从activeSocketList插座,通知在socket.io等等等等房间)确定另一端是否突然关闭了tcp连接
服务器,直截了当:
var server = net.createServer(function(c){
// new connection is online
logToOversight(c.remoteAddress + ' > Connection Established');
c.setKeepAlive(true);
// Do something with incoming data.
c.on('data', function(buffer) {
parseMessage(c, buffer);
})
//- Connection gets an end-event from us.
c.on('end', function() {
// server closes the connection
})
}).listen(port);
我看过事件close并结束,但他们似乎只捕获由服务器本身发起的结束连接。
虽然我想从设备端捕捉连接的突然结束。例如。我通过netcat的连接到服务器进行测试:
nc example.com 12345
和“关闭”通过CTRL-Z我想赶上那班“事件”在服务器端的连接。