1

Lua ソケットのタイムアウトの設定は の後にのみ機能するようで、複数のサーバーを試しているため、 をconnect使用できません。assert (socket.connect (..))

私のシナリオでは、1 つのサーバーがダウンした場合 (不安定なネットワークではなく接続できない)、別のサーバーに頼るので、接続時にタイムアウトが必要です。

助言がありますか?

編集

Lua TCP ソケットは見つかりましたが、それでは接続障害を検出できず、

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

1 に答える 1

5

動作しない場合は、おそらく luasocket が古すぎるため、バージョン 2 に更新します。

LuaSocket 2.0 以降では、settimeout メソッドが接続の動作に影響を与え、タイムアウトの場合にエラーが返されるようになりました。

(ソース: http://w3.impa.br/~diego/software/luasocket/tcp.html#connect )

于 2013-01-22T14:46:59.797 に答える