luasocket/doc/index.html

234 lines
7.5 KiB
HTML
Raw Normal View History

2003-08-31 03:00:15 +02:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
2004-06-21 08:07:58 +02:00
<meta name="description" content="The LuaSocket Homepage">
<meta name="keywords" content="Lua, LuaSocket, Network, Library, Support, Internet">
2003-08-31 03:00:15 +02:00
<title>LuaSocket: Network support for the Lua language </title>
<link rel="stylesheet" href="reference.css" type="text/css">
</head>
<body>
<!-- header +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<div class=header>
<hr>
<center>
<table summary="LuaSocket logo">
<tr><td align=center><a href="http://www.lua.org">
2004-06-21 08:07:58 +02:00
<img width=128 height=128 border=0 alt="LuaSocket" src="luasocket.png">
2003-08-31 03:00:15 +02:00
</a></td></tr>
<tr><td align=center valign=top>Network support for the Lua language
</td></tr>
</table>
<p class=bar>
<a href="home.html">home</a> &middot;
<a href="home.html#download">download</a> &middot;
2004-12-13 07:26:01 +01:00
<a href="installation.html">installation</a> &middot;
2003-08-31 03:00:15 +02:00
<a href="introduction.html">introduction</a> &middot;
<a href="reference.html">reference</a>
</p>
</center>
<hr>
</div>
<!-- whatis +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<h2 id=whatis>What is LuaSocket?</h2>
<p>
LuaSocket is a <a href="http://www.lua.org">Lua</a> extension library
2004-06-16 06:28:21 +02:00
that is composed by two parts: a C core that provides support for the TCP
2003-08-31 03:00:15 +02:00
and UDP transport layers, and a set of Lua modules that add support for
2004-06-16 06:28:21 +02:00
functionality commonly needed by applications that deal with the Internet.
2003-08-31 03:00:15 +02:00
</p>
<p>
2004-06-16 06:28:21 +02:00
The core support has been implemented so that it is both efficient and
simple to use. It is available to any Lua application once it has been
properly initialized by the interpreter in use. The code has been tested
and runs well on several Windows and Unix platforms. </p>
2003-08-31 03:00:15 +02:00
2004-06-16 06:28:21 +02:00
<p>
Among the support modules, the most commonly used implement the
2004-06-16 22:41:03 +02:00
<a href=smtp.html>SMTP</a>
(sending e-mails),
<a href=http.html>HTTP</a>
(WWW access) and
<a href=ftp.html>FTP</a>
(uploading and downloading files) client
protocols. These provide a very natural and generic interface to the
functionality defined by each protocol.
2004-06-16 22:41:03 +02:00
In addition, you will find that the
<a href=mime.html>MIME</a> (common encodings),
<a href=url.html>URL</a>
(anything you could possible want to do with one) and
<a href=ltn12.html>LTN12</a>
(filters, sinks, sources and pumps) modules can be very handy.
2004-06-16 06:28:21 +02:00
</p>
2003-08-31 03:00:15 +02:00
<p>
The library is available under the same
<a href="http://www.lua.org/copyright.html">
terms and conditions</a> as the Lua language, the MIT license. The idea is
that if you can use Lua in a project, you should also be able to use
LuaSocket.
</p>
<p>
2006-04-03 06:45:42 +02:00
Copyright &copy; 2004-2006 Diego Nehab. All rights reserved. <br>
2003-08-31 03:00:15 +02:00
Author: <A href="http://www.cs.princeton.edu/~diego">Diego Nehab</a>
</p>
<!-- download +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
2004-01-20 21:24:51 +01:00
<h2 id=download>Download</h2>
2003-08-31 03:00:15 +02:00
<p>
2006-04-03 06:45:42 +02:00
LuaSocket version 2.0.1 is now available for download! It is
2006-04-20 06:16:23 +02:00
compatible with Lua&nbsp;5.0 and Lua&nbsp;5.1, and has
been tested on Windows&nbsp;XP, Linux, and Mac OS X. Chances
are it works well on most UNIX systems.
2003-08-31 03:00:15 +02:00
</p>
<p>
2005-06-14 06:29:23 +02:00
The library can be downloaded in source code from the
<a href=http://luaforge.net/projects/luasocket/>LuaSocket
project page</a> at LuaForge.
2003-08-31 03:00:15 +02:00
Besides the full C and Lua source code for the library, the distribution
contains several examples, this user's manual and basic test procedures.
2003-08-31 03:00:15 +02:00
</p>
<p>
Danilo Tuler is maintaining Win32 binaries for LuaSocket, which are also
2005-06-14 06:29:23 +02:00
available from LuaForge. These are compatible with the
2006-04-20 06:16:23 +02:00
<a href=http://luaforge.net/projects/luabinaries>LuaBinaries</a>,
also available from LuaForge.
2003-08-31 03:00:15 +02:00
</p>
<p>
2006-04-20 06:16:23 +02:00
If you are using Lua 5.0, and want to give LuaSocket a quick
try, download the stand-alone archive and unpack everything into
2005-06-14 06:29:23 +02:00
a directory, say <tt>c:\luasocket</tt>. Then set <tt>LUA_INIT</tt> to load
2005-01-03 01:13:14 +01:00
the <tt>compat-5.1.lua</tt> and set <tt>LUA_PATH</tt> and
<tt>LUA_CPATH</tt> to look for files in the current directory:
2003-08-31 03:00:15 +02:00
</p>
2004-06-18 23:41:51 +02:00
<pre class=example>
c:\luasocket\&gt; set LUA_INIT=@c:\luasocket\compat-5.1.lua
c:\luasocket\&gt; set LUA_CPATH=?.dll
c:\luasocket\&gt; set LUA_PATH=?.lua
2004-06-18 23:41:51 +02:00
</pre>
<p>
From that directory, you can then run the interpreter and it should find all
files it needs. To download this manual page from the Internet, for example,
do the following:
</p>
<pre class=example>
2005-06-14 06:29:23 +02:00
c:\luasocket\&gt; lua50
2004-06-18 23:41:51 +02:00
Lua 5.0.2 Copyright (C) 1994-2004 Tecgraf, PUC-Rio
2005-01-12 07:27:58 +01:00
&gt; http = require"socket.http"
2005-06-14 06:29:23 +02:00
&gt; print(http.request"http://www.cs.princeton.edu/~diego/professional/luasocket/")
2004-12-13 07:26:01 +01:00
--&gt; the source to this web page gets dumped to terminal
2004-06-18 23:41:51 +02:00
</pre>
2006-04-20 06:16:23 +02:00
<p>
If you are using Lua 5.1, you shouldn't use
<tt>compat-5.1.lua</tt>. Just unpack the standalone
directory, set <tt>LUA_CPATH</tt> and <tt>LUA_PATH</tt>, and
you should be ready to run:
2006-04-20 06:32:06 +02:00
</p>
2006-04-20 06:16:23 +02:00
<pre class=example>
c:\luasocket\&gt; set LUA_CPATH=?.dll
c:\luasocket\&gt; set LUA_PATH=?.lua
c:\luasocket\&gt; lua5.1
Lua 5.1 Copyright (C) 1994-2006 Lua.org, PUC-Rio
&gt; http = require"socket.http"
&gt; print(http.request"http://www.cs.princeton.edu/~diego/professional/luasocket/"
--&gt; the source to this web page gets dumped to terminal
</pre>
<p> When you are done playing, take a look at the
2004-12-13 07:26:01 +01:00
<a href=installation.html>installation</a> section of the manual to find out
how to properly install the library. </p>
<!-- thanks +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<h2 id=thanks>Special thanks</h2>
<p>
2004-06-16 06:28:21 +02:00
Throughout LuaSocket's history, many people gave suggestions that helped
improve it. For that, I thank the Lua community.
Special thanks go to
2004-06-16 06:28:21 +02:00
David Burgess, who has helped push the library to a new level of quality and
2004-06-16 01:00:56 +02:00
from whom I have learned a lot of stuff that doesn't show up in RFCs.
Special thanks also to Carlos Cassino, who played a big part in the
2004-07-26 06:04:04 +02:00
extensible design seen in the C core of LuaSocket 2.0. Recently, Mike Pall
has been helping a lot too! Thanks to you all!
</p>
2003-08-31 03:00:15 +02:00
<!-- whatsnew +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<h2 id=new>What's New</h2>
2004-06-16 01:00:56 +02:00
<p>
2006-04-03 06:45:42 +02:00
This is just a bug-fix/update release.
2004-06-16 01:00:56 +02:00
</p>
<ul>
2006-04-03 06:45:42 +02:00
<li> Updated: now using <tt>compat-5.1r5</tt>;
<li> Improved: <tt>http.request</tt> is more robust to
malformed URLs (Adrian Sietsma);
<li> Improved: the simple <tt>http.request</tt> interface sends a
"<tt>Content-type: application/x-www-form-urlencoded</tt>"
header (William Trenker);
<li> Improved: <tt>http.request</tt> is robust to evil
servers that send inappropriate 100-continue messages
(David Burgess);
<li> Fixed: <tt>http.request</tt> was using the old host header during
redirects (Florian Berger);
2006-04-03 06:45:42 +02:00
<li> Fixed: sample <tt>unix.c</tt> had fallen through the
cracks during development (Matthew Percival);
<li> Fixed: error code was not being propagated correctly in
ftp.lua (David Burgess).
2003-08-31 03:00:15 +02:00
</ul>
<!-- old ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<h2 id=old>Old Versions</h2>
<p>
2005-01-03 01:13:14 +01:00
All previous versions of the LuaSocket library can be downloaded <a
href="http://www.cs.princeton.edu/~diego/professional/luasocket/old">
here</a>. Although these versions are no longer supported, they are
still available for those that have compatibility issues.
2003-08-31 03:00:15 +02:00
</p>
<!-- footer +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<div class=footer>
<hr>
<center>
<p class=bar>
<a href="home.html#download">download</a> &middot;
2004-12-13 07:26:01 +01:00
<a href="installation.html">installation</a> &middot;
2003-08-31 03:00:15 +02:00
<a href="introduction.html">introduction</a> &middot;
<a href="reference.html">reference</a>
</p>
<p>
<small>
Last modified by Diego Nehab on <br>
Thu Apr 20 00:25:23 EDT 2006
2003-08-31 03:00:15 +02:00
</small>
</p>
</center>
</div>
</body>
</html>