安装Lua套接字库

use*_*569 8 sockets lua luasocket

无论是我过度还是失明.我想学习与Lua的网络,因此我必须安装socketlib,所以我可以轻松地要求它,但我不知道,我应该"需要"哪些文件.这个例子说:

local socket = require("socket")
Run Code Online (Sandbox Code Playgroud)

但正如我所说,我不知道我应该包含哪些文件,如果我使用socket.lua它不起作用我得到:No files found.

我从这里得到了lib:Lua套接字下载

或者,是否有另一种方法来安装套接字lib?

Ada*_*dam 13

当您使用requireLua 加载模块时,使用包路径来确定在哪里查找模块.看看Lua手册的模块部分.具体来说,关于package.path和的部分package.cpath.

package.path:require用于搜索Lua加载程序
的路径(.lua模块)package.cpath:require用于搜索C加载程序的路径(.so/.dll模块)

您可以检查当前路径是什么:

print(package.path..'\n'..package.cpath)
Run Code Online (Sandbox Code Playgroud)

如果将LuaSocket安装到当前包路径中的某个位置,Lua应该能够找到并加载它.

或者,您可以在调用之前修改程序包路径require.例如,如果为项目创建文件夹并将LuaSocket库解压缩到libs项目文件夹中调用的子文件夹:

Project
|
> libs
     |
     > lua
         |
         > socket         
     > socket
     > mime
Run Code Online (Sandbox Code Playgroud)

你可以在你面前的包路径相对于项目设置require套接字库(替代/?.dll/?.so在Linux上):

package.path = package.path..';./libs/lua/?.lua'
package.cpath = package.cpath..';./libs/socket/?.dll;./libs/mime/?.dll'
local socket = require 'socket'
Run Code Online (Sandbox Code Playgroud)