Здравствуйте!
Нужно очень часто получать, средствами AutoIt, данные с сервера.
Проблема в том, чтоб как можно меньже загружать интернет соединение и ЦП компьютера клиента, а также экономя как можно больше времени, используя AutoIt и PHP на сервере.
Какждый раз при получении данных подключаться к серверу, мне кажется не вариант, т.к. это очень долго и мучительно, теряются секунды.
Держать постоянное соединение с PHP, невозможно чисто физически.
На сервере имеется !только PHP, в связи с чем огромная просьба не предлагать поставить какой либо софт или библиотеку для PHP или веб сервера.
Жду вашей помощи.
Общение между AutoIt и PHP
-
morgan1991
-
morgan1991
Re: Общение между AutoIt и PHP
Цитата morgan1991:
Какждый раз при получении данных подключаться к серверу, мне кажется не вариант
А каким образом, вы собираетесь тогда получить эти данные?
Как вариант, можно заставить PHP скрипт на сервере отсылать обновлённые данные клиенту. Но без соединения с сервером, боюсь невозможно.
Какждый раз при получении данных подключаться к серверу, мне кажется не вариант
Общение между AutoIt и PHP
А каким образом, вы собираетесь тогда получить эти данные?
Как вариант, можно заставить PHP скрипт на сервере отсылать обновлённые данные клиенту. Но без соединения с сервером, боюсь невозможно.
-
morgan1991
Re: Общение между AutoIt и PHP
Цитата Garrett:
А каким образом, вы собираетесь тогда получить эти данные?
Я имел ввиду не подключаться каждые две секунды, а если один раз подключиться и потом получать постоянно данные, тогда норм.
Но как это сделать?
А каким образом, вы собираетесь тогда получить эти данные?
Общение между AutoIt и PHP
Я имел ввиду не подключаться каждые две секунды, а если один раз подключиться и потом получать постоянно данные, тогда норм.
Но как это сделать?
-
Garrett
Re: Общение между AutoIt и PHP
Цитата morgan1991:
Я имел ввиду не подключаться каждые две секунды, а если один раз подключиться и потом получать постоянно данные
Такой технологии пока ещё нет (если ошибаюсь, поправьте).
Любая программа работает по принципу вопрос/ответ, и имеет параметры условие, цикл и производные.
Мы кстати тоже общаемся по принципу вопрос/ответ
Поэтому, как ни крути, а чтобы получить данные нужно послать запрос серверу.
Фактически, при подключении к серверу вы его спрашиваете - "готов передать данные?"
На что сервер вам отвечает - "да я готов передать вам данные: код готовности" или "нет, я не готов: код ошибки"
Далее, в случае 200 Ок (код успешного соединения) вы "говорите" скрипту weather.php дайка мне погоду на 25.11.2010
Сервер, в свою очередь запустит скрипт, и тот вернёт вам в случае успеха погоду на 25.11.2010.
Вот тут немного внимания!!! Мы фактически не отключаемся от сервера, но для получения новой порции данных мы снова должны сделать запрос к серверу!
Цитата morgan1991:
Проблема в том, чтоб как можно меньже загружать интернет соединение и ЦП компьютера клиента
Тут нужно просто грамотно написать скрипт!
Цитата morgan1991:
а также экономя как можно больше времени
Получать данные порциями (к примеру, через каждые 30 мин.)
P.S. Если вы хотите написать online игру то тут уже давно всё апробировано, просто почитайте материал по написанию игр!
Я имел ввиду не подключаться каждые две секунды, а если один раз подключиться и потом получать постоянно данные
Общение между AutoIt и PHP
Такой технологии пока ещё нет (если ошибаюсь, поправьте).
Любая программа работает по принципу вопрос/ответ, и имеет параметры условие, цикл и производные.
Мы кстати тоже общаемся по принципу вопрос/ответ

Поэтому, как ни крути, а чтобы получить данные нужно послать запрос серверу.
Фактически, при подключении к серверу вы его спрашиваете - "готов передать данные?"
На что сервер вам отвечает - "да я готов передать вам данные: код готовности" или "нет, я не готов: код ошибки"
Далее, в случае 200 Ок (код успешного соединения) вы "говорите" скрипту weather.php дайка мне погоду на 25.11.2010
Сервер, в свою очередь запустит скрипт, и тот вернёт вам в случае успеха погоду на 25.11.2010.
Вот тут немного внимания!!! Мы фактически не отключаемся от сервера, но для получения новой порции данных мы снова должны сделать запрос к серверу!
Цитата morgan1991:
Проблема в том, чтоб как можно меньже загружать интернет соединение и ЦП компьютера клиента
Общение между AutoIt и PHP
Тут нужно просто грамотно написать скрипт!
Цитата morgan1991:
а также экономя как можно больше времени
Общение между AutoIt и PHP
Получать данные порциями (к примеру, через каждые 30 мин.)
P.S. Если вы хотите написать online игру то тут уже давно всё апробировано, просто почитайте материал по написанию игр!
-
morgan1991
Re: Общение между AutoIt и PHP
Цитата Garrett:
Получать данные порциями (к примеру, через каждые 30 мин.)
нужно каждую секунду.
Цитата Garrett:
P.S. Если вы хотите написать online игру то тут уже давно всё апробировано, просто почитайте материал по написанию игр!
Нет, нужно чтото типо чата, переписки между двумя людьми.
Напрямую соедениться не подходит, ставить сервер тоже.
А вот через PHP норм.
Получать данные порциями (к примеру, через каждые 30 мин.)
Общение между AutoIt и PHP
нужно каждую секунду.Цитата Garrett:
P.S. Если вы хотите написать online игру то тут уже давно всё апробировано, просто почитайте материал по написанию игр!
Общение между AutoIt и PHP
Нет, нужно чтото типо чата, переписки между двумя людьми.
Напрямую соедениться не подходит, ставить сервер тоже.
А вот через PHP норм.
-
Garrett
Re: Общение между AutoIt и PHP
Цитата morgan1991:
Нет, нужно чтото типо чата, переписки между двумя людьми.
Напрямую соедениться не подходит, ставить сервер тоже.
А вот через PHP норм.
Ну вот теперь хоть понятно о чём речь
Цитата morgan1991:
нужно каждую секунду.
Для вашей цели не вижу смысла!
Собственно (вкратце) алгоритм следующий:
Autoit.
Пишем клиентское приложения Messenger. По сути, это будет простенький клиент/сервер.
PHP.
Пишем скрипт, который при получение данных от Messenger ID[1...N] будет отсылать их на Messenger ID[1...N].
Скрипт должен уметь:
1. идентифицировать пользователя по ID[1...N]
2. принимать/отсылать данные пользователю
Протокол (примерно) такой: ID[1...N]:DATA PHP ID[1...N]:DATA
P.S. А, почему бы вам не воспользоваться готовыми протоколам, к примеру Jabber (XMPP).
Цитата morgan1991:
Напрямую соедениться не подходит
В чём причина, если не секрет?
Нет, нужно чтото типо чата, переписки между двумя людьми.
Напрямую соедениться не подходит, ставить сервер тоже.
А вот через PHP норм.
Общение между AutoIt и PHP
Ну вот теперь хоть понятно о чём речь

Цитата morgan1991:
нужно каждую секунду.
Общение между AutoIt и PHP
Для вашей цели не вижу смысла!
Собственно (вкратце) алгоритм следующий:
Autoit.
Пишем клиентское приложения Messenger. По сути, это будет простенький клиент/сервер.
PHP.
Пишем скрипт, который при получение данных от Messenger ID[1...N] будет отсылать их на Messenger ID[1...N].
Скрипт должен уметь:
1. идентифицировать пользователя по ID[1...N]
2. принимать/отсылать данные пользователю
Протокол (примерно) такой: ID[1...N]:DATA PHP ID[1...N]:DATA
P.S. А, почему бы вам не воспользоваться готовыми протоколам, к примеру Jabber (XMPP).
Цитата morgan1991:
Напрямую соедениться не подходит
Общение между AutoIt и PHP
В чём причина, если не секрет?
-
morgan1991
Re: Общение между AutoIt и PHP
Цитата Garrett:
В чём причина, если не секрет?
Дешовый веб сервер/хостинг...
Цитата Garrett:
Собственно (вкратце) алгоритм следующий:
В принципе я так и хотел сделать, но проблема в том, что повторное подключение к серверу занимает бывает до 5 секунд.
Цитата Garrett:
Вот тут немного внимания!!! Мы фактически не отключаемся от сервера, но для получения новой порции данных мы снова должны сделать запрос к серверу!
Это если передать в заголовке connection: keep-alive, но с таким методом у меня проблемка есть, никак не могу отловить конец передачи данных, а если ставлю connection: close, тогда принимаю данные пока не оборвётся соединение...
В чём причина, если не секрет?
Общение между AutoIt и PHP
Дешовый веб сервер/хостинг...

Цитата Garrett:
Собственно (вкратце) алгоритм следующий:
Общение между AutoIt и PHP
В принципе я так и хотел сделать, но проблема в том, что повторное подключение к серверу занимает бывает до 5 секунд.
Цитата Garrett:
Вот тут немного внимания!!! Мы фактически не отключаемся от сервера, но для получения новой порции данных мы снова должны сделать запрос к серверу!
Общение между AutoIt и PHP
Это если передать в заголовке connection: keep-alive, но с таким методом у меня проблемка есть, никак не могу отловить конец передачи данных, а если ставлю connection: close, тогда принимаю данные пока не оборвётся соединение...