index.html 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  2. "http://www.w3.org/TR/html4/strict.dtd">
  3. <html>
  4. <head>
  5. <meta name="description" content="The LuaSocket Homepage">
  6. <meta name="keywords" content="Lua, LuaSocket, Network, Library, Support, Internet">
  7. <title>LuaSocket: Network support for the Lua language </title>
  8. <link rel="stylesheet" href="reference.css" type="text/css">
  9. </head>
  10. <body>
  11. <!-- header +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  12. <div class=header>
  13. <hr>
  14. <center>
  15. <table summary="LuaSocket logo">
  16. <tr><td align=center><a href="http://www.lua.org">
  17. <img width=128 height=128 border=0 alt="LuaSocket" src="luasocket.png">
  18. </a></td></tr>
  19. <tr><td align=center valign=top>Network support for the Lua language
  20. </td></tr>
  21. </table>
  22. <p class=bar>
  23. <a href="index.html">home</a> &middot;
  24. <a href="index.html#download">download</a> &middot;
  25. <a href="installation.html">installation</a> &middot;
  26. <a href="introduction.html">introduction</a> &middot;
  27. <a href="reference.html">reference</a>
  28. </p>
  29. </center>
  30. <hr>
  31. </div>
  32. <!-- whatis +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  33. <h2 id=whatis>What is LuaSocket?</h2>
  34. <p>
  35. LuaSocket is a <a href="http://www.lua.org">Lua</a> extension library
  36. that is composed by two parts: a C core that provides support for the TCP
  37. and UDP transport layers, and a set of Lua modules that add support for
  38. functionality commonly needed by applications that deal with the Internet.
  39. </p>
  40. <p>
  41. The core support has been implemented so that it is both efficient and
  42. simple to use. It is available to any Lua application once it has been
  43. properly initialized by the interpreter in use. The code has been tested
  44. and runs well on several Windows and UNIX platforms. </p>
  45. <p>
  46. Among the support modules, the most commonly used implement the
  47. <a href=smtp.html>SMTP</a>
  48. (sending e-mails),
  49. <a href=http.html>HTTP</a>
  50. (WWW access) and
  51. <a href=ftp.html>FTP</a>
  52. (uploading and downloading files) client
  53. protocols. These provide a very natural and generic interface to the
  54. functionality defined by each protocol.
  55. In addition, you will find that the
  56. <a href=mime.html>MIME</a> (common encodings),
  57. <a href=url.html>URL</a>
  58. (anything you could possible want to do with one) and
  59. <a href=ltn12.html>LTN12</a>
  60. (filters, sinks, sources and pumps) modules can be very handy.
  61. </p>
  62. <p>
  63. The library is available under the same
  64. <a href="http://www.lua.org/copyright.html">
  65. terms and conditions</a> as the Lua language, the MIT license. The idea is
  66. that if you can use Lua in a project, you should also be able to use
  67. LuaSocket.
  68. </p>
  69. <p>
  70. Copyright &copy; 1999-2013 Diego Nehab. All rights reserved. <br>
  71. Author: <A href="http://www.impa.br/~diego">Diego Nehab</a>
  72. </p>
  73. <!-- download +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  74. <h2 id=download>Download</h2>
  75. <p>
  76. LuaSocket version 3.0-rc1 is now available for download!
  77. It is compatible with Lua&nbsp;5.1 and 5.2, and has
  78. been tested on Windows&nbsp;XP, Linux, and Mac OS X. Chances
  79. are it works well on most UNIX distributions and Windows flavors.
  80. </p>
  81. <p>
  82. The current version of the library can be found at
  83. the <a href="https://github.com/diegonehab/luasocket">LuaSocket
  84. project page</a> on GitHub. Besides the full C and Lua source code
  85. for the library, the distribution contains several examples,
  86. this user's manual and basic test procedures.
  87. </p>
  88. <p> Take a look at the <a
  89. href=installation.html>installation</a> section of the
  90. manual to find out how to properly install the library.
  91. </p>
  92. <!-- thanks +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  93. <h2 id=thanks>Special thanks</h2>
  94. <p>
  95. This marks the first release of LuaSocket that
  96. wholeheartedly embraces the open-source development
  97. philosophy. After a long hiatus, Matthew Wild finally
  98. convinced me it was time for a release including IPv6 and
  99. Lua 5.2 support. It was more work than we anticipated.
  100. Special thanks to Sam Roberts, Florian Zeitz, and Paul
  101. Aurich, Liam Devine, Alexey Melnichuk, and everybody else
  102. that has helped bring this library back to life.
  103. </p>
  104. <!-- whatsnew +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  105. <h2 id=new>What's New</h2>
  106. <p>
  107. Main changes for LuaSocket&nbsp;3.0-rc1 are IPv6 support
  108. and Lua&nbsp;5.2 compatibility.
  109. </p>
  110. <ul>
  111. <li> Added: Compatible with Lua&nbsp;5.2
  112. <ul>
  113. <li> Note that unless you define <tt>LUA_COMPAT_MODULE</tt>,
  114. package tables will <em>not</em> be exported as globals!
  115. </ul>
  116. <li> Added: IPv6 support;
  117. <ul>
  118. <li> <tt>Socket.connect</tt> and <tt>socket.bind</tt> support IPv6 addresses;
  119. <li> <tt>Getpeername</tt> and <tt>getsockname</tt> support
  120. IPv6 addresses, and return the socket family as a third value;
  121. <li> URL module updated to support IPv6 host names;
  122. <li> New <tt>socket.tcp6</tt> and <tt>socket.udp6</tt> functions;
  123. <li> New <tt>socket.dns.getaddrinfo</tt> and
  124. <tt>socket.dns.getnameinfo</tt> functions;
  125. </ul>
  126. <li> Added: <tt>getoption</tt> method;
  127. <li> Fixed: <tt>url.unescape</tt> was returning additional values;
  128. <li> Fixed: <tt>mime.qp</tt>, <tt>mime.unqp</tt>,
  129. <tt>mime.b64</tt>, and <tt>mime.unb64</tt> could
  130. mistaking their own stack slots for functions arguments;
  131. <li> Fixed: Receiving zero-length datagram is now possible;
  132. <li> Improved: Hidden all internal library symbols;
  133. <li> Improved: Better error messages;
  134. <li> Improved: Better documentation of socket options.
  135. <li> Fixed: manual sample of HTTP authentication now uses correct
  136. "authorization" header (Alexandre Ittner);
  137. <li> Fixed: failure on bind() was destroying the socket (Sam Roberts);
  138. <li> Fixed: receive() returns immediatelly if prefix can satisfy
  139. bytes requested (M Joonas Pihlaja);
  140. <li> Fixed: multicast didn't work on Windows, or anywhere
  141. else for that matter (Herbert Leuwer, Adrian Sietsma);
  142. <li> Fixed: select() now reports an error when called with more
  143. sockets than FD_SETSIZE (Lorenzo Leonini);
  144. <li> Fixed: manual links to home.html changed to index.html
  145. (Robert Hahn);
  146. <li> Fixed: mime.unb64() would return an empty string on results that started
  147. with a null character (Robert Raschke);
  148. <li> Fixed: HTTP now automatically redirects on 303 and 307 (Jonathan Gray);
  149. <li> Fixed: calling sleep() with negative numbers could
  150. block forever, wasting CPU. Now it returns immediately (MPB);
  151. <li> Improved: FTP commands are now sent in upper case to
  152. help buggy servers (Anders Eurenius);
  153. <li> Improved: known headers now sent in canonic
  154. capitalization to help buggy servers (Joseph Stewart);
  155. <li> Improved: Clarified tcp:receive() in the manual (MPB);
  156. <li> Improved: Decent makefiles (LHF).
  157. <li> Fixed: RFC links in documentation now point to IETF (Cosmin Apreutesei).
  158. </ul>
  159. <!-- old ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  160. <h2 id=old>Old Versions</h2>
  161. <p>
  162. All previous versions of the LuaSocket library can be downloaded <a
  163. href="http://www.impa.br/~diego/software/luasocket/old">
  164. here</a>. Although these versions are no longer supported, they are
  165. still available for those that have compatibility issues.
  166. </p>
  167. <!-- footer +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  168. <div class=footer>
  169. <hr>
  170. <center>
  171. <p class=bar>
  172. <a href="index.html#download">download</a> &middot;
  173. <a href="installation.html">installation</a> &middot;
  174. <a href="introduction.html">introduction</a> &middot;
  175. <a href="reference.html">reference</a>
  176. </p>
  177. <p>
  178. <small>
  179. Last modified by Diego Nehab on <br>
  180. Tue Jun 11 18:50:23 HKT 2013
  181. </small>
  182. </p>
  183. </center>
  184. </div>
  185. </body>
  186. </html>