--------------------------------------------------------- --- UDP library for ZD --------------------------------------------------------- return function(ZD) ZD.UDP = function(port, cb) local udp = {} udp.port = port udp.server = require('dgram').createSocket('udp4') udp.send = function(addr, port, msg, func) return udp.server:send(msg, port, addr, func) end udp.server:on("message", function(msg, rinfo) local client = rinfo client.send = function(c, m, f) return udp.server:send(m, c.port, c.address, f) end cb(client, msg) end) udp.server:on("error", function(msg, rinfo) print("error:", msg, rinfo) end) udp.server:on("listening", function() ZD.cout("Started UDP Server:", udp.server:address().address, udp.server:address().port) end) udp.server:bind(udp.port) return udp end end