Я возился с Flex RemoteObjects и обнаружил, что они не очень хорошо себя ведут в отношении времени ожидания.
Во-первых, я не могу понять, как установить тайм-аут при "подключении". Я знаю, что могу установить requstTimeout
, что приведет к правильному истечению времени ожидания после первоначального рукопожатия… Но если сервер не выполняет рукопожатие, соединение не прерывается (например, сервер принимает соединение, а затем ничего с ним не делает, клиент просто останется висеть).
Во-вторых, когда срабатывает requestTimeout
(время ожидания запроса), Flex на самом деле не предпринимает никаких действий, чтобы разорвать соединение - он просто оставляет его там (без RST
или подобного). Понятно, что это более чем нежелательно. Есть ли способ явно разорвать соединение после тайм-аута?
Я использую RemoteObject
так:
<RemoteObject id="foo" endpoint="http://bar" requestTimeout="42">
<method … />
</RemoteObject>