From 534b0cedf714d4de0a6cf67570e11f232cdccf84 Mon Sep 17 00:00:00 2001
From: Diego Nehab
-Copyright © 1999-2004 Tecgraf/PUC-Rio. All rights reserved.
+Copyright © 2004 Diego Nehab. All rights reserved.
Author: Diego Nehab
-LuaSocket version 2.0 beta2 is now available for download! It is +LuaSocket version 2.0 (beta3) is now available for download! It is compatible with Lua 5.0 and has been tested on Windows XP, Linux, and Mac OS X.
@@ -99,8 +100,8 @@ The library can be downloaded in source code from the following links:@@ -116,7 +117,7 @@ LuaSocket a quick try:-luasocket-2.0-beta2.tar.gz
-luasocket-2.0-beta2.zip +luasocket-2.0-beta3.tar.gz
+luasocket-2.0-beta3.zip
@@ -124,11 +125,15 @@ LuaSocket a quick try: The quick and dirty way to use these binaries is to unpack everything into a directory, say c:\luasocket (include all Lua files from the LuaSocket distrbitution in the same directory too!). -Then set LUA_INIT to load the lua.lua helper file: +Then set LUA_INIT to load the compat-5.1.lua and set +LUA_PATH and LUA_CPATH to look for files in that +directory:-luasocket-2.0-beta2-win32.zip +luasocket-2.0-beta3-win32.zip
-c:\luasocket\> set LUA_INIT=@lua.lua +c:\luasocket\> set LUA_INIT=@compat-5.1.lua +c:\luasocket\> set LUA_CPATH=?.dll +c:\luasocket\> set LUA_PATH=?.lua
@@ -142,9 +147,13 @@ c:\luasocket\> lua Lua 5.0.2 Copyright (C) 1994-2004 Tecgraf, PUC-Rio > http = require"http" > print(http.request"http://www.tecgraf.puc-rio.br/luasocket/") ---> this file +--> this gets dumped to terminal +
Take a look at the installation section of +the manual to find out how to properly install the library after you are +done playing with it.
+-Changes in the 2.0-beta2 were mostly bug-fixes. +The big change for the 2.0 (beta3) release was the adoption of the Lua 5.1 +package proposal. There were several bug fixes too (a beta is a +beta, is a beta).
LuaSocket 2.0 uses the new package proposal for Lua 5.1, throught the +compatibility module +Compat-5.1 released in conjunction with Roberto Ierusalimschy and The Kepler project. The proposal +was considered important enough by the community to justify early adoption. +All Lua library developers are encouraged to change their libraries in +preparation for the release of Lua 5.1.
+ +As far as LuaSocket is concerned, this means that whoever is +deploying a solution that uses LuaSocket has a lot of freedom. Here we +describe only the standard distribution. If the standard doesn't meet your +needs, we refer you to the Lua discussion list, where any quesetion about +the package scheme will likely be answered promptly. +
+ +The new package scheme has a root directory for the libraries installed +on a given system. Let's call this directory <ROOT>. +On my system, this is the /usr/local/share/lua/5.0 directory. +Here is the standard LuaSocket distribution directory structure:
+ ++<ROOT>/compat-5.1.lua +<ROOT>/socket.lua +<ROOT>/lsocket.dll +<ROOT>/mime.lua +<ROOT>/lmime.dll +<ROOT>/ltn12.lua +<ROOT>/socket/http.lua +<ROOT>/socket/tp.lua +<ROOT>/socket/ftp.lua +<ROOT>/socket/smtp.lua +<ROOT>/socket/url.lua ++ +
Naturally, on Unix systems, lsocket.dll and lmime.dll +would be replaced by lsocket.so and lmime.so. In Mac OS +X, they would be replaced by lsocket.dylib and +lmime.dylib.
+ +In order for the interpreter to find all LuaSocket components, three +environment variables need to be set. The first environment variable tells +the interpreter to load the compat-5.1.lua module.
+ ++LUA_INIT=@<ROOT>/compat-5.1.lua ++ +The other two environment variables instruct the compatibility module to +look for dynamic libraries and modules in the appropriate directories and +with the appropriate filename extensions. + +
+LUA_PATH=<ROOT>/?.lua;?.lua +LUA_CPATH=<ROOT>/?.dll;?.dll ++ +
Again, naturally, in Unix the shared library extension would be +.so instead of .dll and on Mac OS X they would be +.dylib
+ +With the above setup, and an interpreter with shared library support, +it should be easy to use LuaSocket. Just fire the interpreter and use the +require function to gain access to whatever module you need:
+ +
+Lua 5.0.2 Copyright (C) 1994-2004 Tecgraf, PUC-Rio
+> socket = require("socket")
+> print(socket.VERSION)
+--> LuaSocket 2.0 (beta3)
+
+
+Each module loads their dependencies automatically, so you only need to +load the modues you are directly dependent upon.
+ +
+Lua 5.0.2 Copyright (C) 1994-2004 Tecgraf, PUC-Rio
+> http = require("socket.http")
+> print(http.get("http://www.tecgraf.puc-rio.br/luasocket"))
+--> homepage gets dumped to terminal
+
+
+
+
+
+
+
+
diff --git a/doc/introduction.html b/doc/introduction.html
index 20c4d36..a285b81 100644
--- a/doc/introduction.html
+++ b/doc/introduction.html
@@ -4,7 +4,8 @@
-
+
-The core LuaSocket is almost entirely implemented in C. It is -usually available as a dynamic library which the interpreter can load -with the help of a loader module written in Lua. -Beginning with version 2.0 and following the Lua 5.0 trend, all LuaSocket -functionality is defined inside tables (or rather namespaces). No global -variables are ever created. -Namespaces are obtained with the require Lua function, which loads -and initializes any required library and returns the namespace. -For example, the core functionality or LuaSocket is usually available -from the "socket" namespace. -
- -
-socket = require("socket")
-print(socket.VERSION)
---> LuaSocket 2.0
-
-
LuaSocket offers much more than TCP and UDP support. As the library +evolved, support for HTTP, FTP, +SMTP, MIME, URLs and much more was made available. These are +mostly implemented in Lua itself, with critical parts implemented in C for +efficiency
+