Алексей,
В итоге, я все почистил и попробовал заново. Скачал ZeroBraneStudio , взял оттуда нужнве мне модули с сохранением структуры папок. Получилось следующее:
В квике нет ничего, что связано с моим скриптом. Добавлена лишь копия lua5.1.dll с именем lua51.dll
Проблема все та же. Я решил добавил множество дебаг сообщений в https.lua, socket.lua и ssl.lua для диагностики. Также решил подождать и не спешить убивать квик . Оказалось, что через минут 5 скрипт оживает и не падает. При этом запрос не отсылается на сервер. По отладочным сообщениям обнаружил, что зависание происходит в функции newcontext при вызове context.create . Как я понял, это вызывается соответствующий метод в ssl.dll . В итоге написал цикл, который осуществляет 10 попыток отослать запрос на сервер. После первой итерации, которая не доходила до сервера, запросы стали успешно отсылаться. Как я понял, задержка с ssl сокетом есть у всех, но не такая большая? Получается этот запрос выполняется в основном потоке и блокирует все остальные операции ? Поскольку с http запросами такой задержки нет, для себя решил написать простенький прокси, который принимает http запрос от квика, сразу же отвечает статусом OK(HTTP 200), чтобы не блокировать квик и избежать проблем в случае, если удаленный хост будет тормозить с ответом . После ответа квику он в фоне переправляет запрос куда нужно и как нужно.
В итоге, я все почистил и попробовал заново. Скачал ZeroBraneStudio , взял оттуда нужнве мне модули с сохранением структуры папок. Получилось следующее:
Код |
---|
C:\MY-ROBOT │ libeay32.dll │ ltn12.lua │ mime.lua │ robot.lua │ socket.lua │ ssl.lua │ ssleay32.dll │ ├───clibs │ │ lexlpeg.dll │ │ lfs.dll │ │ liblua.dll │ │ libzlib.dll │ │ lpeg.dll │ │ ssl.dll │ │ winapi.dll │ │ wx.dll │ │ │ │ │ ├───mime │ │ core.dll │ │ │ └───socket │ core.dll │ ├───socket │ ftp.lua │ headers.lua │ http.lua │ smtp.lua │ tp.lua │ url.lua │ └───ssl https.lua |
Проблема все та же. Я решил добавил множество дебаг сообщений в https.lua, socket.lua и ssl.lua для диагностики. Также решил подождать и не спешить убивать квик . Оказалось, что через минут 5 скрипт оживает и не падает. При этом запрос не отсылается на сервер. По отладочным сообщениям обнаружил, что зависание происходит в функции newcontext при вызове context.create . Как я понял, это вызывается соответствующий метод в ssl.dll . В итоге написал цикл, который осуществляет 10 попыток отослать запрос на сервер. После первой итерации, которая не доходила до сервера, запросы стали успешно отсылаться. Как я понял, задержка с ssl сокетом есть у всех, но не такая большая? Получается этот запрос выполняется в основном потоке и блокирует все остальные операции ? Поскольку с http запросами такой задержки нет, для себя решил написать простенький прокси, который принимает http запрос от квика, сразу же отвечает статусом OK(HTTP 200), чтобы не блокировать квик и избежать проблем в случае, если удаленный хост будет тормозить с ответом . После ответа квику он в фоне переправляет запрос куда нужно и как нужно.