|
Packit |
b53373 |
|
|
Packit |
b53373 |
"http://www.w3.org/TR/html4/strict.dtd">
|
|
Packit |
b53373 |
<html>
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
<head>
|
|
Packit |
b53373 |
<meta name="description" content="The LuaSocket Homepage">
|
|
Packit |
b53373 |
<meta name="keywords" content="Lua, LuaSocket, Network, Library, Support, Internet">
|
|
Packit |
b53373 |
<title>LuaSocket: Network support for the Lua language </title>
|
|
Packit |
b53373 |
<link rel="stylesheet" href="reference.css" type="text/css">
|
|
Packit |
b53373 |
</head>
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
<body>
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
<center>
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
Network support for the Lua language
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
home ·
|
|
Packit |
b53373 |
download ·
|
|
Packit |
b53373 |
installation ·
|
|
Packit |
b53373 |
introduction ·
|
|
Packit |
b53373 |
reference
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
</center>
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
What is LuaSocket?
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
LuaSocket is a Lua extension library
|
|
Packit |
b53373 |
that is composed by two parts: a C core that provides support for the TCP
|
|
Packit |
b53373 |
and UDP transport layers, and a set of Lua modules that add support for
|
|
Packit |
b53373 |
functionality commonly needed by applications that deal with the Internet.
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
The core support has been implemented so that it is both efficient and
|
|
Packit |
b53373 |
simple to use. It is available to any Lua application once it has been
|
|
Packit |
b53373 |
properly initialized by the interpreter in use. The code has been tested
|
|
Packit |
b53373 |
and runs well on several Windows and UNIX platforms.
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
Among the support modules, the most commonly used implement the
|
|
Packit |
b53373 |
SMTP
|
|
Packit |
b53373 |
(sending e-mails),
|
|
Packit |
b53373 |
HTTP
|
|
Packit |
b53373 |
(WWW access) and
|
|
Packit |
b53373 |
FTP
|
|
Packit |
b53373 |
(uploading and downloading files) client
|
|
Packit |
b53373 |
protocols. These provide a very natural and generic interface to the
|
|
Packit |
b53373 |
functionality defined by each protocol.
|
|
Packit |
b53373 |
In addition, you will find that the
|
|
Packit |
b53373 |
MIME (common encodings),
|
|
Packit |
b53373 |
URL
|
|
Packit |
b53373 |
(anything you could possible want to do with one) and
|
|
Packit |
b53373 |
LTN12
|
|
Packit |
b53373 |
(filters, sinks, sources and pumps) modules can be very handy.
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
The library is available under the same
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
terms and conditions as the Lua language, the MIT license. The idea is
|
|
Packit |
b53373 |
that if you can use Lua in a project, you should also be able to use
|
|
Packit |
b53373 |
LuaSocket.
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
Copyright © 1999-2013 Diego Nehab. All rights reserved.
|
|
Packit |
b53373 |
Author: Diego Nehab
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
Download
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
LuaSocket version 3.0-rc1 is now available for download!
|
|
Packit |
b53373 |
It is compatible with Lua 5.1 and 5.2, and has
|
|
Packit |
b53373 |
been tested on Windows XP, Linux, and Mac OS X. Chances
|
|
Packit |
b53373 |
are it works well on most UNIX distributions and Windows flavors.
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
The current version of the library can be found at
|
|
Packit |
b53373 |
the LuaSocket
|
|
Packit |
b53373 |
project page on GitHub. Besides the full C and Lua source code
|
|
Packit |
b53373 |
for the library, the distribution contains several examples,
|
|
Packit |
b53373 |
this user's manual and basic test procedures.
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
Take a look at the
|
|
Packit |
b53373 |
href=installation.html>installation section of the
|
|
Packit |
b53373 |
manual to find out how to properly install the library.
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
Special thanks
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
This marks the first release of LuaSocket that
|
|
Packit |
b53373 |
wholeheartedly embraces the open-source development
|
|
Packit |
b53373 |
philosophy. After a long hiatus, Matthew Wild finally
|
|
Packit |
b53373 |
convinced me it was time for a release including IPv6 and
|
|
Packit |
b53373 |
Lua 5.2 support. It was more work than we anticipated.
|
|
Packit |
b53373 |
Special thanks to Sam Roberts, Florian Zeitz, and Paul
|
|
Packit |
b53373 |
Aurich, Liam Devine, Alexey Melnichuk, and everybody else
|
|
Packit |
b53373 |
that has helped bring this library back to life.
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
What's New
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
Main changes for LuaSocket 3.0-rc1 are IPv6 support
|
|
Packit |
b53373 |
and Lua 5.2 compatibility.
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
Added: Compatible with Lua 5.2
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
Note that unless you define <tt>LUA_COMPAT_MODULE</tt>,
|
|
Packit |
b53373 |
package tables will not be exported as globals!
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
Added: IPv6 support;
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
<tt>Socket.connect</tt> and <tt>socket.bind</tt> support IPv6 addresses;
|
|
Packit |
b53373 |
<tt>Getpeername</tt> and <tt>getsockname</tt> support
|
|
Packit |
b53373 |
IPv6 addresses, and return the socket family as a third value;
|
|
Packit |
b53373 |
URL module updated to support IPv6 host names;
|
|
Packit |
b53373 |
New <tt>socket.tcp6</tt> and <tt>socket.udp6</tt> functions;
|
|
Packit |
b53373 |
New <tt>socket.dns.getaddrinfo</tt> and
|
|
Packit |
b53373 |
<tt>socket.dns.getnameinfo</tt> functions;
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
Added: <tt>getoption</tt> method;
|
|
Packit |
b53373 |
Fixed: <tt>url.unescape</tt> was returning additional values;
|
|
Packit |
b53373 |
Fixed: <tt>mime.qp</tt>, <tt>mime.unqp</tt>,
|
|
Packit |
b53373 |
<tt>mime.b64</tt>, and <tt>mime.unb64</tt> could
|
|
Packit |
b53373 |
mistaking their own stack slots for functions arguments;
|
|
Packit |
b53373 |
Fixed: Receiving zero-length datagram is now possible;
|
|
Packit |
b53373 |
Improved: Hidden all internal library symbols;
|
|
Packit |
b53373 |
Improved: Better error messages;
|
|
Packit |
b53373 |
Improved: Better documentation of socket options.
|
|
Packit |
b53373 |
Fixed: manual sample of HTTP authentication now uses correct
|
|
Packit |
b53373 |
"authorization" header (Alexandre Ittner);
|
|
Packit |
b53373 |
Fixed: failure on bind() was destroying the socket (Sam Roberts);
|
|
Packit |
b53373 |
Fixed: receive() returns immediatelly if prefix can satisfy
|
|
Packit |
b53373 |
bytes requested (M Joonas Pihlaja);
|
|
Packit |
b53373 |
Fixed: multicast didn't work on Windows, or anywhere
|
|
Packit |
b53373 |
else for that matter (Herbert Leuwer, Adrian Sietsma);
|
|
Packit |
b53373 |
Fixed: select() now reports an error when called with more
|
|
Packit |
b53373 |
sockets than FD_SETSIZE (Lorenzo Leonini);
|
|
Packit |
b53373 |
Fixed: manual links to home.html changed to index.html
|
|
Packit |
b53373 |
(Robert Hahn);
|
|
Packit |
b53373 |
Fixed: mime.unb64() would return an empty string on results that started
|
|
Packit |
b53373 |
with a null character (Robert Raschke);
|
|
Packit |
b53373 |
Fixed: HTTP now automatically redirects on 303 and 307 (Jonathan Gray);
|
|
Packit |
b53373 |
Fixed: calling sleep() with negative numbers could
|
|
Packit |
b53373 |
block forever, wasting CPU. Now it returns immediately (MPB);
|
|
Packit |
b53373 |
Improved: FTP commands are now sent in upper case to
|
|
Packit |
b53373 |
help buggy servers (Anders Eurenius);
|
|
Packit |
b53373 |
Improved: known headers now sent in canonic
|
|
Packit |
b53373 |
capitalization to help buggy servers (Joseph Stewart);
|
|
Packit |
b53373 |
Improved: Clarified tcp:receive() in the manual (MPB);
|
|
Packit |
b53373 |
Improved: Decent makefiles (LHF).
|
|
Packit |
b53373 |
Fixed: RFC links in documentation now point to IETF (Cosmin Apreutesei).
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
Old Versions
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
All previous versions of the LuaSocket library can be downloaded
|
|
Packit |
b53373 |
href="http://www.impa.br/~diego/software/luasocket/old">
|
|
Packit |
b53373 |
here. Although these versions are no longer supported, they are
|
|
Packit |
b53373 |
still available for those that have compatibility issues.
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
<center>
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
download ·
|
|
Packit |
b53373 |
installation ·
|
|
Packit |
b53373 |
introduction ·
|
|
Packit |
b53373 |
reference
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
<small>
|
|
Packit |
b53373 |
Last modified by Diego Nehab on
|
|
Packit |
b53373 |
Tue Jun 11 18:50:23 HKT 2013
|
|
Packit |
b53373 |
</small>
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
</center>
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
|
|
Packit |
b53373 |
</body>
|
|
Packit |
b53373 |
</html>
|