我有一个非常简单的UDP服务器,使用内置的NodeJS dgram模块,它监听端口,并在收到UDP消息时发回UDP响应 - 非常典型 .
它最初工作正常,但一段时间后响应永远不会回到客户端 - 好像有些泄漏(我的泄漏?)填满了缓冲区 . NodeJS没有发出任何错误消息 .
我只使用绑定到一个端口的一个套接字 . 我正在使用此套接字发回响应并且不创建任何其他套接字 - 这意味着我从不关闭套接字 .
有谁知道为什么我的程序一段时间后无法将消息发回客户端(可能是在50,000个请求/响应之后)?
谢谢V很多!
德里克
我的计划的骨干: -
var dgram = require('dgram');
var server = dgram.createSocket('udp4');
server.on('message', function(msg, rinfo) {
console.log("Msg in from "+rinfo.address);
dosomeworkwithmsg(msg, function(res) {
server.send(res, 0, res.length, rinfo.port, rinfo.address, function(err, bytes) {
if (err) {
console.log("Error sending reply! "+err);
}
else {
console.log("Reply sent to client!");
}
});
});
});
server.bind(2000);