Lua为连接设置超时

dai*_*isy 1 lua

看起来Lua套接字的设置超时仅在以后工作connect,我无法使用assert (socket.connect (..)),因为我有多个服务器可以试用.

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

有什么建议?

编辑

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

local tcp = socket.tcp()
tcp:settimeout(1)
tcp:connect(...)
Run Code Online (Sandbox Code Playgroud)

cat*_*ell 5

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

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

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