mirror of
https://github.com/lunarmodules/luasocket.git
synced 2024-12-27 04:48:21 +01:00
f960b3872a
Documented headers.lua Update copyright date everywhere Remove RCSID from files Move version back to 2.1 rather than 2.1.1 Fixed url package to support ipv6 hosts Changed "domain" to "family" in tcp and udp structures Implemented getfamily methods
29 lines
836 B
Lua
29 lines
836 B
Lua
-----------------------------------------------------------------------------
|
|
-- UDP sample: echo protocol server
|
|
-- LuaSocket sample files
|
|
-- Author: Diego Nehab
|
|
-----------------------------------------------------------------------------
|
|
local socket = require("socket")
|
|
host = host or "127.0.0.1"
|
|
port = port or 7
|
|
if arg then
|
|
host = arg[1] or host
|
|
port = arg[2] or port
|
|
end
|
|
print("Binding to host '" ..host.. "' and port " ..port.. "...")
|
|
udp = assert(socket.udp())
|
|
assert(udp:setsockname(host, port))
|
|
assert(udp:settimeout(5))
|
|
ip, port = udp:getsockname()
|
|
assert(ip, port)
|
|
print("Waiting packets on " .. ip .. ":" .. port .. "...")
|
|
while 1 do
|
|
dgram, ip, port = udp:receivefrom()
|
|
if dgram then
|
|
print("Echoing '" .. dgram .. "' to " .. ip .. ":" .. port)
|
|
udp:sendto(dgram, ip, port)
|
|
else
|
|
print(ip)
|
|
end
|
|
end
|