我有一个非常简单的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);