1

看起来为 Lua 套接字设置超时connect仅在 之后有效,我不能使用assert (socket.connect (..)),因为我有多个服务器要试用。

我的情况是,当一台服务器关闭(无法连接而不是网络不稳定)时,我将求助于另一台服务器,因此我必须在连接时超时。

有什么建议么?

编辑

我找到了 Lua TCP 套接字,但是我无法检测到连接失败,

local tcp = socket.tcp()
tcp:settimeout(1)
tcp:connect(...)
4

1 回答 1

5

如果它不起作用,可能是因为您的 luasocket 太旧,请更新到版本 2:

从 LuaSocket 2.0 开始,settimeout 方法会影响 connect 的行为,导致它在超时的情况下返回错误。

(来源:http ://w3.impa.br/~diego/software/luasocket/tcp.html#connect )

于 2013-01-22T14:46:59.797 回答