----------------------------------------------------------------------------- -- UDP sample: echo protocol server -- LuaSocket sample files -- Author: Diego Nehab -- RCS ID: $Id: echosrvr.lua,v 1.12 2005/11/22 08:33:29 diego Exp $ ----------------------------------------------------------------------------- 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