问题标签 [luasocket]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
354 浏览

lua - LuaSocket 需要超级用户来创建服务器

当我尝试在 Ubuntu 上使用 LuaSocket 创建侦听任何端口的套接字时,套接字的创建失败并显示“权限被拒绝”:

但是,当以超级用户身份(使用 sudo)执行相同的脚本时,服务器的创建工作正常。LuaSocket有什么原因不能正常创建服务器吗?我可以做任何事情(在 Lua 中或在 Ubuntu 服务器上),这样就不需要以超级用户身份执行脚本吗?

0 投票
1 回答
6584 浏览

lua - 使用lua模拟登录

我们的应用程序需要使用 Lua 从网站获取一些数据。但是网站需要身份验证(如 google 的登录方法)。

我正在尝试使用 LuaSocket 库,但我找不到完整的代码示例,所以我只知道我需要做什么。

我知道 http.request() 有第二个可选参数,它允许我发送 POST 数据,并且我还可以使用完整的语法来指定 POST 方法和要发送的数据,但我不知道什么格式数据应该在里面,它应该是什么样子。桌子?细绳?什么?

我也知道我还需要设置内容类型和内容长度 - 但我不知道这些值应该是什么,也不知道如何找出它们。我不知道有什么选择和写什么。

有人可以帮助我。给我一个使用 lua 登录谷歌的完整示例?

对此的任何帮助将不胜感激。非常感谢。

0 投票
3 回答
802 浏览

sockets - Moai:通过套接字对命令做出反应的图形

我需要一个可以根据我通过 TCP 发送给它的命令在屏幕上创建预定义形状的程序。我正在尝试监听一个端口,以便我可以使用它们。在等待命令(通过网络)之前,我有创建正方形所需的命令(我计划通过网络命令更改其属性)

问题是它没有按应有的方式创建任何图形或打开窗口..

它在 control = server:accept() 等待来自客户端的命令,但它没有按应有的方式打开图形窗口。是否有任何命令强制它打开或渲染

谢谢

0 投票
2 回答
8683 浏览

lua - 如何在 Lua 中下载文件,但在工作时写入本地文件

我正在尝试制作一个更新程序,因此当我的 Lua 应用程序过期时,它将使用LuaSocket下载更新的 .exe 文件(它可以运行我的 Lua 代码)。

在这个更新程序中,我希望它显示到目前为止已经下载了多少。但是,对于以下 HTTP 请求,它会阻止应用程序,直到完全下载:

我正在使用线程下载它,但是在线程内部完成下载之前我仍然无法写入文件,因此进度条将变为 0%、100%,中间没有任何内容。

我可以做些什么来下载远程文件,但在下载时将其保存到本地文件?

cURL 可以做到这一点。我不知道 LuaSocket 或 Lua 的其他东西是否可以。:(

0 投票
1 回答
1480 浏览

windows - 是否有与 lua 5.2.1 兼容的 luasocket 库?

正如标题所说,我需要一个兼容 Lua 5.2.1 的 Windows luasocket 库。

0 投票
0 回答
329 浏览

sockets - 如何在服务端(HTTP服务器)知道Lua中的客户端套接字描述符

在启用 Lua 的网络服务器(如 Lighttpd、Apache)上使用时,有没有办法知道服务器端连接的客户端套接字描述符?

我测试了获取客户端 IP 地址和 HTTP 标头,并且能够正确接收它们。

我在 Lua Socket(2.0.3) 中找不到任何可以接受 HTTP 请求并返回请求的套接字描述符的函数。

如果可用的启用 Lua 的网络服务器不提供这些功能,我们有什么办法可以试试吗?

0 投票
1 回答
7858 浏览

c - 加载模块时出错 (Lua)

每当我运行我的应用程序时,我都会遇到这个错误。错误是: loop or previous error loading module 'socket'

导致此错误的代码是: socket = require("socket").

此错误发生在第一个lua_pcall. 这是调用它的函数:

这是我编译代码的方式:

gcc -Wall -o terminal attacker.c -I/usr/include/lua5.1 -llua5.1 -lm

我在编译期间是否缺少任何开关或者我是否缺少库?

注意:编译器不会抛出任何错误并且可以干净地编译。在其他不包含 C 的 Lua 应用程序中,我对require("socket").

谢谢

0 投票
2 回答
3593 浏览

lua - LuaLanes 和 LuaSockets

我正在开发一个使用套接字与外界通信的小型 Lua 应用程序(在 Lua for Windows 下,如果这很重要)。(LuaSocket)

我正在尝试同时提出几个请求。所以我认为 LuaLanes 是要走的路。(当然,如果有更好的解决方案,我愿意接受替代方案,但不希望为此处理协程。)

像这样的东西:

其中laneTest函数定义如下:

我的问题是,在laneTest函数内部,当作为车道运行时,我收到这个可爱的错误消息:

尝试索引本地“客户端”(用户数据值)

(从线client:getpeername()

所以..我不确定这里发生了什么?通道与套接字不兼容,还是我做错了什么?

我想这可能是 Lua for Windows 附带的通道版本是古老的(luaforwindows)并且不适用于套接字,但最新版本可能?(车道 2.0.4 与更新的 3.xx)

我真的不知道如何更新我拥有的 Lanes 版本,否则我现在已经尝试过了,所以。如果那是我可能要去的地方,或者有更明显的事情表明我做错了,我将不胜感激。

编辑:我继续通过 luarocks 安装了车道,并且使用安装为岩石的车道 3.1.6-1 遇到了同样的问题。

编辑2:试过这个(但仍然失败):

  1. 这未能声称:attempt to call global 'require' (a nil value)
  2. 删除require ('socket')函数内的行并重试也失败说:attempt to index local 'client' (a userdata value)

我为错过明显的事情提前道歉,但是......你如何让套接字与车道一起工作?

编辑3:

好吧,我正在编辑它以供将来参考:)

据我所知,没有修补luasockets就无法使用带有套接字的通道。有关更多信息,请参见此处的讨论;但简而言之(正如德科的回答中所解释的那样):车道不适用于用户数据。luasocket 不提供任何其他访问套接字/套接字信息的方式。

我不想修补 luasocket,就像我宁愿使用车道一样,我会继续坚持使用 copas 或 couroutines。

谢谢大家!

0 投票
2 回答
2664 浏览

lua - 如何处理没有 coroutine.yield() 的 Lua 库?

我想下载一个大文件并同时处理其他事情。

但是,luasocket.http从不调用coroutine.yield(). 文件下载时,其他所有内容都会冻结。

这是一个说明性示例,我尝试同时下载文件并打印一些数字:

运行它会产生这个:

如您所见,printRoutineresumed 首先。它打印数字 1 和yields。然后downloadRoutineresumed,它下载整个文件,而不产生. 只有这样才能打印其余的数字。

我不想编写自己的套接字库!我能做些什么?

编辑(同一天晚些时候):一些 MUSH 用户也注意到了。他们提供有用的想法。

0 投票
1 回答
477 浏览

sockets - 使用luasocket的HTTP GET汉字

我使用 luasocket 来获取一个包含汉字“开奖结果”的网页(页面本身编码为 charset="gb2312"),如下所示:

不幸的是,它无法匹配预期的字符:

我知道 Lua 能够找到 unicode 字符:

那我猜这可能是luasocket如何从网络上检索数据引起的。任何人都可以对此有所了解吗?

谢谢。