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">
|
2004-11-28 09:17:16 +01:00
|
|
|
<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> ·
|
|
|
|
<a href="home.html#download">download</a> ·
|
2004-12-13 07:26:01 +01:00
|
|
|
<a href="installation.html">installation</a> ·
|
2003-08-31 03:00:15 +02:00
|
|
|
<a href="introduction.html">introduction</a> ·
|
|
|
|
<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
|
2004-11-29 07:55:47 +01:00
|
|
|
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>
|
2004-11-29 07:55:47 +01:00
|
|
|
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
|
2004-11-29 07:55:47 +01:00
|
|
|
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 © 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 5.0 and Lua 5.1, and has
|
|
|
|
been tested on Windows 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
|
2004-11-29 07:55:47 +01:00
|
|
|
contains several examples, this user's manual and basic test procedures.
|
2003-08-31 03:00:15 +02:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
2005-11-21 08:04:44 +01:00
|
|
|
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>
|
2004-11-29 07:55:47 +01:00
|
|
|
c:\luasocket\> set LUA_INIT=@c:\luasocket\compat-5.1.lua
|
2004-11-28 09:17:16 +01:00
|
|
|
c:\luasocket\> set LUA_CPATH=?.dll
|
|
|
|
c:\luasocket\> 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\> 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
|
|
|
> http = require"socket.http"
|
2005-06-14 06:29:23 +02:00
|
|
|
> print(http.request"http://www.cs.princeton.edu/~diego/professional/luasocket/")
|
2004-12-13 07:26:01 +01:00
|
|
|
--> 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\> set LUA_CPATH=?.dll
|
|
|
|
c:\luasocket\> set LUA_PATH=?.lua
|
|
|
|
c:\luasocket\> lua5.1
|
|
|
|
Lua 5.1 Copyright (C) 1994-2006 Lua.org, PUC-Rio
|
|
|
|
> http = require"socket.http"
|
|
|
|
> print(http.request"http://www.cs.princeton.edu/~diego/professional/luasocket/"
|
|
|
|
--> the source to this web page gets dumped to terminal
|
|
|
|
</pre>
|
|
|
|
|
2004-11-29 07:55:47 +01:00
|
|
|
<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
|
2004-11-29 07:55:47 +01:00
|
|
|
how to properly install the library. </p>
|
2004-11-28 09:17:16 +01:00
|
|
|
|
2004-02-04 15:29:11 +01:00
|
|
|
<!-- 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.
|
2004-02-04 15:29:11 +01:00
|
|
|
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.
|
2004-02-04 15:29:11 +01:00
|
|
|
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!
|
2004-02-04 15:29:11 +01:00
|
|
|
</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);
|
2006-04-13 09:00:24 +02:00
|
|
|
<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>
|
2004-11-28 09:17:16 +01:00
|
|
|
<a href="home.html#download">download</a> ·
|
2004-12-13 07:26:01 +01:00
|
|
|
<a href="installation.html">installation</a> ·
|
2003-08-31 03:00:15 +02:00
|
|
|
<a href="introduction.html">introduction</a> ·
|
|
|
|
<a href="reference.html">reference</a>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<small>
|
|
|
|
Last modified by Diego Nehab on <br>
|
2006-04-20 06:27:13 +02:00
|
|
|
Thu Apr 20 00:25:23 EDT 2006
|
2003-08-31 03:00:15 +02:00
|
|
|
</small>
|
|
|
|
</p>
|
|
|
|
</center>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|