Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local socket = require'socket'
- local function gettime()
- local time = socket.gettime()
- local msec = time - math.floor(time)
- local date = os.date("%d.%m.%y-%X", time)
- return ("%-21s"):format(date .. "." .. math.floor(msec * 300))
- end
- local function server(host, port)
- host = host or "*"
- port = port or 4096
- local udp = (socket.udp4 or socket.udp)()
- assert(udp:setsockname(host, port))
- --udp:listen()
- return function()
- local msg, host, port = udp:receivefrom()
- print(gettime() .. " " .. host .. ":" .. port .. " > " .. msg)
- end, udp:getsockname()
- end
- local function client(host, port)
- host = host or "127.0.0.1"
- port = port or 4096
- local udp = (socket.udp4 or socket.udp)()
- return function(...)
- local msg = ""
- for i = 1, select("#", ...) do
- msg = msg .. "\t" .. tostring(select(i, ...))
- end
- udp:sendto(msg, host, port)
- end
- end
- if ... then
- return {
- server = server,
- client = client
- }
- end
- local server, host, port = server()
- host = socket.dns.toip("")
- print("Listen ", host, port)
- while 1 do
- server()
- end
- -- print = require'udprint'.client("host_ip")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement