问题标签 [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 投票
3 回答
2720 浏览

ftp - LuaSocket FTP 总是超时

我在LuaSocket的 TCP 设施上取得了成功,但我在使用它的 FTP 模块时遇到了问题。尝试检索(小)文件时,我总是会超时。我可以使用 Firefox 或 ftp 以被动模式(在 Ubuntu Dapper Linux 上)很好地下载文件。

我认为可能是我需要 LuaSocket 来使用被动 FTP,但后来我发现它似乎默认这样做。我试图通过 FTP 检索的文件可以通过我机器上的其他程序使用被动 FTP 访问,但不能通过主动模式访问。我在 LuaSocket 中发现了一些关于“黑客”被动模式支持的讨论,并且该讨论意味着以后的版本停止使用被动模式,但我的版本似乎仍然使用被动模式(我使用的是 2.0.1;最新的是 2.0.2 并且确实似乎没有与我的用例相关的任何更改)。我对那篇文章可能与我的情况有什么关系感到有些困惑,部分原因是它已经很老了,而且 LuaSocket 的源代码现在与该讨论中的代码几乎没有相似之处)。

我把我的代码归结为:

这给了我一个超时。我strace在 Linux 上运行它(与ptrace在 Solaris 上相同)。这是一个删节的成绩单:

我尝试连接到另一个站点,但它有一个我无法在此处发布的密码,但在这种情况下,结果略有不同......我得到了类似上面的跟踪但select()最后成功了,然后是:

将此与我在被动模式下的“ftp”程序的跟踪进行比较(工作正常,但请注意它不会像 LuaSocket 那样将套接字设置为非阻塞):

因此,我针对这两个不同的 FTP 站点尝试了 LuaSocket,但故障不同但相似。我还在另一台可以使用主动 FTP 的机器上尝试过它,但它没有更好的运气(大概是因为 LuaSocket 总是使用被动模式,从我可以通过阅读 中的源代码得知socket/ftp.lua)。

那么这里的任何人都可以让 LuaSocket 两线在顶部工作吗?请注意,在我的机器上,到戴尔站点的活动 FTP 不起作用(我可以连接,但一旦我ls断开连接),所以如果你让 LuaSocket 工作,请注意从另一个程序到戴尔站点的活动 FTP 是否工作你的机器。

0 投票
3 回答
2492 浏览

sockets - How could I embedded socket in Lua internally, just like oslib, debuglib?

I want to implement the function like embedding the socket function in my Lua build. So I don't need to copy socket.core.dll any more (just for fun).

I search the maillist, and see some guys discuss the topic, http://lua-users.org/lists/lua-l/2005-10/msg00269.html

But I have question for the details steps, who could give me a detailed steps for changing the lua and luasocket code to make them work together (not with dll method).

I tried these steps in windows xp with VC2008:

1) copy luasocket code to Lua project.

2) add some code

3) build the project, and run it.

When I type print(socket._VERSION), it shows luasocket 2.0.2, it is correct.

When I type print(socket.dns.toip("localhost")), it shows 127.0.0.1 table: 00480AD0, it is correct too.

But when I try to use other features, for example bind, it can't work.

Who could tell me the reason?

0 投票
2 回答
1961 浏览

networking - LuaSocket 服务器如何同时处理多个请求?

问题是我的 Lua 服务器无法同时接受多个请求。我试图让每个客户端消息在其协同程序中得到处理,但这似乎失败了。

这段代码似乎实际上并没有同时接受多个客户端消息。这种方法有什么问题?谢谢你的帮忙。

0 投票
3 回答
11539 浏览

lua - Lua 套接字异步调用

我正在编写一个使用 Lua 套接字与 http 服务器通信的程序。我使用的 API 是“socket.http.request”,我发现它是同步的。我的理解是它会等到它得到一些响应或超时。我的理解正确吗?如果是这样,我更喜欢使用异步 API。

我还发现了另一个API“socket.http.request_cb”,它在处理请求时调用了一个回调函数。但是,它似乎在这里不起作用。(此 API 在我使用的版本上不可用。)我在这里使用 Lua 5.1 和 Lua socket 2.0.2。谁能告诉我哪个版本的 Lua 或 Lua 套接字有这个 API?

0 投票
2 回答
3110 浏览

lua - Lua http socket 评测

我使用 lua 5.1 和 luaSocket 2.0.2-4 从 Web 服务器检索页面。我首先检查服务器是否响应,然后将 Web 服务器响应分配给 lua 变量。

一切都按预期工作,但请求被执行了两次。我想知道我是否可以做类似的事情(这显然不起作用):

0 投票
2 回答
9676 浏览

sockets - lua http套接字超时

LuaSocket HTTP 模块文档说可以在 HTTP 连接上设置超时:

可以设置以下常量来控制 HTTP 模块的默认行为:

PORT:用于连接的默认端口;PROXY:用于连接的默认代理;TIMEOUT:设置所有I/O操作的超时时间;USERAGENT:默认用户代理报告给服务器。 http://w3.impa.br/~diego/software/luasocket/http.htm

如何在 lua 脚本中设置这些常量?

0 投票
2 回答
3414 浏览

windows - LuaSocket socket/core.dll 需要的位置?

当我使用

它工作正常,dll位于“dir/socket/core.dll”但是当我移动dll时说

“dir/folder/core.dll”并使用

它返回它已找到,但在 folder.core 中找不到特定模块。

我如何在它的 socket.core 要求之外使用 Luasocket?

谢谢!

0 投票
1 回答
204 浏览

lua - 使用 LuaSocket 遍历 Google 搜索

我正在尝试制作一个创建谷歌搜索的 Lua 程序,并以不同的排列方式格式化所有结果。唯一的问题是我找不到方法来做这些:

  1. 获取搜索结果的html
  2. 搜索所有页面
  3. 搜索省略的结果
0 投票
2 回答
1021 浏览

multithreading - 如何检测和快速响应时间过长的 lua 函数?

我正在使用 Corona SDK 制作一个需要 luasocket 的简单应用程序。Corona SDK 支持 luasocket 做异步 http req。

但我想使用来自 luasocket 的 UDP。来自 luasocket 的 UDP receive() 方法在收到消息之前一直阻塞。

Corona SDK 不支持 LuaLanes。因此,在另一个线程中收听 udp 消息是完全不可能的。

所以我只是想在lua中是否有任何方法/技巧/解决方法来检测和取消一个函数,在这种情况下是udp.receive(),响应时间太长?

提前致谢

0 投票
2 回答
2316 浏览

networking - 如何在 Lua 套接字中获取客户端 IP

当每个客户端使用 LuaSockets 连接到我的服务器时,我无法找到如何获取它们的 IP 地址;另外:如果这已在另一篇文章中得到回答,我深表歉意,但我可以找到它;如果是这种情况,请给我链接。

干杯!