diff options
Diffstat (limited to 'samples/README')
| -rw-r--r-- | samples/README | 90 |
1 files changed, 87 insertions, 3 deletions
diff --git a/samples/README b/samples/README index e63a6f5..4ee06b6 100644 --- a/samples/README +++ b/samples/README | |||
| @@ -1,11 +1,95 @@ | |||
| 1 | This directory contains some sample programs using | 1 | This directory contains some sample programs using |
| 2 | LuaSocket. This code is not supported. | 2 | LuaSocket. This code is not supported. |
| 3 | 3 | ||
| 4 | tftp.lua -- Trivial FTP client | ||
| 5 | |||
| 6 | This module implements file retrieval by the TFTP protocol. | ||
| 7 | Its main use was to test the UDP code, but since someone | ||
| 8 | found it usefull, I turned it into a module that is almost | ||
| 9 | official (no uploads, yet). | ||
| 10 | |||
| 11 | dict.lua -- Dict client | ||
| 12 | |||
| 13 | The dict.lua module started with a cool simple client | ||
| 14 | for the DICT protocol, written by Luiz Henrique Figueiredo. | ||
| 15 | This new version has been converted into a library, similar | ||
| 16 | to the HTTP and FTP libraries, that can be used from within | ||
| 17 | any luasocket application. Take a look on the source code | ||
| 18 | and you will be able to figure out how to use it. | ||
| 19 | |||
| 20 | lp.lua -- LPD client library | ||
| 21 | |||
| 22 | The lp.lua module implements the client part of the Line | ||
| 23 | Printer Daemon protocol, used to print files on Unix | ||
| 24 | machines. It is courtesy of David Burgess! See the source | ||
| 25 | code and the lpr.lua in the examples directory. | ||
| 26 | |||
| 27 | b64.lua | ||
| 28 | qp.lua | ||
| 29 | eol.lua | ||
| 30 | |||
| 31 | These are tiny programs that perform Base64, | ||
| 32 | Quoted-Printable and end-of-line marker conversions. | ||
| 33 | |||
| 34 | get.lua -- file retriever | ||
| 35 | |||
| 36 | This little program is a client that uses the FTP and | ||
| 37 | HTTP code to implement a command line file graber. Just | ||
| 38 | run | ||
| 39 | |||
| 40 | lua get.lua <remote-file> [<local-file>] | ||
| 41 | |||
| 42 | to download a remote file (either ftp:// or http://) to | ||
| 43 | the specified local file. The program also prints the | ||
| 44 | download throughput, elapsed time, bytes already downloaded | ||
| 45 | etc during download. | ||
| 46 | |||
| 47 | check-memory.lua -- checks memory consumption | ||
| 48 | |||
| 49 | This is just to see how much memory each module uses. | ||
| 50 | |||
| 51 | dispatch.lua -- coroutine based dispatcher | ||
| 52 | |||
| 53 | This is a first try at a coroutine based non-blocking | ||
| 54 | dispatcher for LuaSocket. Take a look at 'check-links.lua' | ||
| 55 | and at 'forward.lua' to see how to use it. | ||
| 56 | |||
| 57 | check-links.lua -- HTML link checker program | ||
| 58 | |||
| 59 | This little program scans a HTML file and checks for broken | ||
| 60 | links. It is similar to check-links.pl by Jamie Zawinski, | ||
| 61 | but uses all facilities of the LuaSocket library and the Lua | ||
| 62 | language. It has not been thoroughly tested, but it should | ||
| 63 | work. Just run | ||
| 64 | |||
| 65 | lua check-links.lua [-n] {<url>} > output | ||
| 66 | |||
| 67 | and open the result to see a list of broken links. Make sure | ||
| 68 | you check the '-n' switch. It runs in non-blocking mode, | ||
| 69 | using coroutines, and is MUCH faster! | ||
| 70 | |||
| 71 | forward.lua -- coroutine based forward server | ||
| 72 | |||
| 73 | This is a forward server that can accept several connections | ||
| 74 | and transfers simultaneously using non-blocking I/O and the | ||
| 75 | coroutine-based dispatcher. You can run, for example | ||
| 76 | |||
| 77 | lua forward.lua 8080:proxy.com:3128 | ||
| 78 | |||
| 79 | to redirect all local conections to port 8080 to the host | ||
| 80 | 'proxy.com' at port 3128. | ||
| 81 | |||
| 82 | unix.c and unix.h | ||
| 83 | |||
| 84 | This is an implementation of Unix local domain sockets and | ||
| 85 | demonstrates how to extend LuaSocket with a new type of | ||
| 86 | transport. It has been tested on Linux and on Mac OS X. | ||
| 87 | |||
| 4 | listener.lua -- socket to stdout | 88 | listener.lua -- socket to stdout |
| 5 | talker.lua -- stdin to socket | 89 | talker.lua -- stdin to socket |
| 6 | 90 | ||
| 7 | listener.lua and talker.lua are about the simplest | 91 | listener.lua and talker.lua are about the simplest |
| 8 | applications you can write using LuaSocket. Run | 92 | applications you can write using LuaSocket. Run |
| 9 | 93 | ||
| 10 | 'lua listener.lua' and 'lua talker.lua' | 94 | 'lua listener.lua' and 'lua talker.lua' |
| 11 | 95 | ||
| @@ -17,13 +101,13 @@ be printed by listen.lua. | |||
| 17 | This is a cool program written by David Burgess to print | 101 | This is a cool program written by David Burgess to print |
| 18 | files using the Line Printer Daemon protocol, widely used in | 102 | files using the Line Printer Daemon protocol, widely used in |
| 19 | Unix machines. It uses the lp.lua implementation, in the | 103 | Unix machines. It uses the lp.lua implementation, in the |
| 20 | etc directory. Just run 'lua lpr.lua <filename> | 104 | samples directory. Just run 'lua lpr.lua <filename> |
| 21 | queue=<printername>' and the file will print! | 105 | queue=<printername>' and the file will print! |
| 22 | 106 | ||
| 23 | cddb.lua -- CDDB client | 107 | cddb.lua -- CDDB client |
| 24 | 108 | ||
| 25 | This is the first try on a simple CDDB client. Not really | 109 | This is the first try on a simple CDDB client. Not really |
| 26 | useful, but one day it might become a module. | 110 | useful, but one day it might become a module. |
| 27 | 111 | ||
| 28 | daytimeclnt.lua -- day time client | 112 | daytimeclnt.lua -- day time client |
| 29 | 113 | ||
