Lua为连接设置超时

时间:2013-01-22 08:12:59

标签: lua

对于Lua套接字,setting timeout看起来只能在connect之后使用,我无法使用assert (socket.connect (..)),因为我有多台服务器需要试用。

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

有什么建议吗?

修改

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

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

1 个答案:

答案 0 :(得分:5)

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

  

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

     

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