This directory contains code that is more useful than the samples. This code *is* supported. tftp.lua -- Trivial FTP client This module implements file retrieval by the TFTP protocol. Its main use was to test the UDP code, but since someone found it usefull, I turned it into a module that is almost official (no uploads, yet). dict.lua -- Dict client The dict.lua module started with a cool simple client for the DICT protocol, written by Luiz Henrique Figueiredo. This new version has been converted into a library, similar to the HTTP and FTP libraries, that can be used from within any luasocket application. Take a look on the source code and you will be able to figure out how to use it. lp.lua -- LPD client library The lp.lua module implements the client part of the Line Printer Daemon protocol, used to print files on Unix machines. It is courtesy of David Burgess! See the source code and the lpr.lua in the examples directory. b64.lua qp.lua eol.lua These are tiny programs that perform Base64, Quoted-Printable and end-of-line marker conversions. get.lua -- file retriever This little program is a client that uses the FTP and HTTP code to implement a command line file graber. Just run lua get.lua [] to download a remote file (either ftp:// or http://) to the specified local file. The program also prints the download throughput, elapsed time, bytes already downloaded etc during download. check-memory.lua -- checks memory consumption This is just to see how much memory each module uses. dispatch.lua -- coroutine based dispatcher This is a first try at a coroutine based non-blocking dispatcher for LuaSocket. Take a look at 'check-links.lua' and at 'forward.lua' to see how to use it. check-links.lua -- HTML link checker program This little program scans a HTML file and checks for broken links. It is similar to check-links.pl by Jamie Zawinski, but uses all facilities of the LuaSocket library and the Lua language. It has not been thoroughly tested, but it should work. Just run lua check-links.lua [-n] {} > output and open the result to see a list of broken links. You can also use the '-n' switch to run the same program in non-blocking mode to see how much faster things can get. forward.lua -- coroutine based forward server This is a forward server that can accept several connections and transfers simultaneously using non-blocking I/O and the coroutine-based dispatcher. You can run, for example lua forward.lua 8080:proxy.com:3128 to redirect all local conections to port 8080 to the host 'proxy.com' at port 3128. unix.c and unix.h This is an implementation of Unix local domain sockets and demonstrates how to extend LuaSocket with a new type of transport. It has been tested on Linux and on Mac OS X. Good luck, Diego.