2003-06-09 18:23:40 +00:00
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
-- UDP sample: echo protocol server
|
2003-06-26 18:47:49 +00:00
|
|
|
-- LuaSocket sample files
|
2003-06-09 18:23:40 +00:00
|
|
|
-- Author: Diego Nehab
|
|
|
|
-- RCS ID: $Id$
|
|
|
|
-----------------------------------------------------------------------------
|
2004-06-21 06:07:58 +00:00
|
|
|
local socket = require("socket")
|
2001-01-25 21:59:39 +00:00
|
|
|
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.. "...")
|
2004-05-28 07:24:43 +00:00
|
|
|
udp = socket.try(socket.udp())
|
|
|
|
socket.try(udp:setsockname(host, port))
|
|
|
|
socket.try(udp:settimeout(5))
|
|
|
|
ip, port = socket.try(udp:getsockname())
|
2001-01-25 21:59:39 +00:00
|
|
|
print("Waiting packets on " .. ip .. ":" .. port .. "...")
|
|
|
|
while 1 do
|
2001-03-06 19:46:42 +00:00
|
|
|
dgram, ip, port = udp:receivefrom()
|
2004-05-28 07:24:43 +00:00
|
|
|
if dgram then
|
|
|
|
print("Echoing '" .. dgram .. "' to " .. ip .. ":" .. port)
|
2001-03-06 19:46:42 +00:00
|
|
|
udp:sendto(dgram, ip, port)
|
2004-05-28 07:24:43 +00:00
|
|
|
else
|
|
|
|
print(ip)
|
|
|
|
end
|
2001-01-25 21:59:39 +00:00
|
|
|
end
|