看起来Lua套接字的设置超时仅在以后工作connect,我无法使用assert (socket.connect (..)),因为我有多个服务器可以试用.
我的情况是,当一台服务器关闭(无法连接而不是不稳定的网络)时,我将使用另一台服务器,因此我必须在连接时超时.
有什么建议?
编辑
我找到了Lua TCP套接字,但有了这个,我无法检测到连接失败,
local tcp = socket.tcp()
tcp:settimeout(1)
tcp:connect(...)
Run Code Online (Sandbox Code Playgroud)
如果它不起作用,可能是因为你的luasocket太旧了,更新到版本2:
从LuaSocket 2.0开始,settimeout方法会影响connect的行为,导致它在超时的情况下返回错误.
(来源:http://w3.impa.br/~diego/software/luasocket/tcp.html#connect)