安装Lua套接字库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装Lua套接字库相关的知识,希望对你有一定的参考价值。
无论是我过度还是失明。我想学习Lua的网络,因此我必须安装socket
lib,所以我可以轻松地要求它,但我不知道,我应该“需要”哪些文件。这个例子说:
local socket = require("socket")
但正如我所说,我不知道我应该包括哪些文件,如果我使用socket.lua
它不起作用我得到:No files found
。
我从这里得到了lib:Lua socket download
或者,是否有另一种方法来安装套接字lib?
当您使用require
加载模块时,Lua使用包路径来确定在哪里查找模块。看看Lua手册的Modules部分。具体来说,关于package.path
和package.cpath
的部分。
package.path:require用于搜索Lua加载程序的路径(.lua模块) package.cpath:require用于搜索C加载器的路径(.so / .dll模块)
您可以检查当前路径是什么:
print(package.path..'
'..package.cpath)
如果将LuaSocket安装到当前包路径中的某个位置,Lua应该能够找到并加载它。
或者,您可以在调用require
之前修改包路径。例如,如果为项目创建文件夹并将LuaSocket库解压缩到项目文件夹中名为libs
的子文件夹:
Project
|
> libs
|
> lua
|
> socket
> socket
> mime
您可以在require
套接字库之前设置相对于项目的包路径(在Linux上用/?.dll
代替/?.so
):
package.path = package.path..';./libs/lua/?.lua'
package.cpath = package.cpath..';./libs/socket/?.dll;./libs/mime/?.dll'
local socket = require 'socket'
在你的linux系统上使用这个命令:
#luarocks install luasocket
使用下一个命令查看路径CONFIGURATION
#luarocks
您需要使用默认的Linux帐户(请参阅:CONFIGURATION):
$lua
> socket = require ("socket")
或使用此:
> socket = require 'socket'
以上是关于安装Lua套接字库的主要内容,如果未能解决你的问题,请参考以下文章
在套接字库中调用 recv 时,我的 recv 缓冲区应该有多大