问题标签 [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.
lua - LuaSocket 需要超级用户来创建服务器
当我尝试在 Ubuntu 上使用 LuaSocket 创建侦听任何端口的套接字时,套接字的创建失败并显示“权限被拒绝”:
但是,当以超级用户身份(使用 sudo)执行相同的脚本时,服务器的创建工作正常。LuaSocket有什么原因不能正常创建服务器吗?我可以做任何事情(在 Lua 中或在 Ubuntu 服务器上),这样就不需要以超级用户身份执行脚本吗?
lua - 使用lua模拟登录
我们的应用程序需要使用 Lua 从网站获取一些数据。但是网站需要身份验证(如 google 的登录方法)。
我正在尝试使用 LuaSocket 库,但我找不到完整的代码示例,所以我只知道我需要做什么。
我知道 http.request() 有第二个可选参数,它允许我发送 POST 数据,并且我还可以使用完整的语法来指定 POST 方法和要发送的数据,但我不知道什么格式数据应该在里面,它应该是什么样子。桌子?细绳?什么?
我也知道我还需要设置内容类型和内容长度 - 但我不知道这些值应该是什么,也不知道如何找出它们。我不知道有什么选择和写什么。
有人可以帮助我。给我一个使用 lua 登录谷歌的完整示例?
对此的任何帮助将不胜感激。非常感谢。
sockets - Moai:通过套接字对命令做出反应的图形
我需要一个可以根据我通过 TCP 发送给它的命令在屏幕上创建预定义形状的程序。我正在尝试监听一个端口,以便我可以使用它们。在等待命令(通过网络)之前,我有创建正方形所需的命令(我计划通过网络命令更改其属性)
问题是它没有按应有的方式创建任何图形或打开窗口..
它在 control = server:accept() 等待来自客户端的命令,但它没有按应有的方式打开图形窗口。是否有任何命令强制它打开或渲染
谢谢
lua - 如何在 Lua 中下载文件,但在工作时写入本地文件
我正在尝试制作一个更新程序,因此当我的 Lua 应用程序过期时,它将使用LuaSocket下载更新的 .exe 文件(它可以运行我的 Lua 代码)。
在这个更新程序中,我希望它显示到目前为止已经下载了多少。但是,对于以下 HTTP 请求,它会阻止应用程序,直到完全下载:
我正在使用线程下载它,但是在线程内部完成下载之前我仍然无法写入文件,因此进度条将变为 0%、100%,中间没有任何内容。
我可以做些什么来下载远程文件,但在下载时将其保存到本地文件?
cURL 可以做到这一点。我不知道 LuaSocket 或 Lua 的其他东西是否可以。:(
windows - 是否有与 lua 5.2.1 兼容的 luasocket 库?
正如标题所说,我需要一个兼容 Lua 5.2.1 的 Windows luasocket 库。
sockets - 如何在服务端(HTTP服务器)知道Lua中的客户端套接字描述符
在启用 Lua 的网络服务器(如 Lighttpd、Apache)上使用时,有没有办法知道服务器端连接的客户端套接字描述符?
我测试了获取客户端 IP 地址和 HTTP 标头,并且能够正确接收它们。
我在 Lua Socket(2.0.3) 中找不到任何可以接受 HTTP 请求并返回请求的套接字描述符的函数。
如果可用的启用 Lua 的网络服务器不提供这些功能,我们有什么办法可以试试吗?
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")
.
谢谢
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:试过这个(但仍然失败):
- 这未能声称:
attempt to call global 'require' (a nil value)
- 删除
require ('socket')
函数内的行并重试也失败说:attempt to index local 'client' (a userdata value)
我为错过明显的事情提前道歉,但是......你如何让套接字与车道一起工作?
编辑3:
好吧,我正在编辑它以供将来参考:)
据我所知,没有修补luasockets就无法使用带有套接字的通道。有关更多信息,请参见此处的讨论;但简而言之(正如德科的回答中所解释的那样):车道不适用于用户数据。luasocket 不提供任何其他访问套接字/套接字信息的方式。
我不想修补 luasocket,就像我宁愿使用车道一样,我会继续坚持使用 copas 或 couroutines。
谢谢大家!
lua - 如何处理没有 coroutine.yield() 的 Lua 库?
我想下载一个大文件并同时处理其他事情。
但是,luasocket.http
从不调用coroutine.yield()
. 文件下载时,其他所有内容都会冻结。
这是一个说明性示例,我尝试同时下载文件并打印一些数字:
运行它会产生这个:
如您所见,printRoutine
是resume
d 首先。它打印数字 1 和yield
s。然后downloadRoutine
是resume
d,它下载整个文件,而不产生. 只有这样才能打印其余的数字。
我不想编写自己的套接字库!我能做些什么?
编辑(同一天晚些时候):一些 MUSH 用户也注意到了。他们提供有用的想法。
sockets - 使用luasocket的HTTP GET汉字
我使用 luasocket 来获取一个包含汉字“开奖结果”的网页(页面本身编码为 charset="gb2312"),如下所示:
不幸的是,它无法匹配预期的字符:
我知道 Lua 能够找到 unicode 字符:
那我猜这可能是luasocket如何从网络上检索数据引起的。任何人都可以对此有所了解吗?
谢谢。