PHP + Delphi(Pascal), выдавать в реальном времени


я Хотел бы выработать система, маленький, простой, закодированные на языке Pascal(delphi IDE), чтобы получать уведомления(например, уведомление о том, что некоторое событие уже произошло), после получения предупреждения играть какой-то звук.

Понимаю немного в Delphi, это был один из языков, которые я начал только из любопытства, но я в конечном итоге снижается после того, как я пришел, чтобы ВЕБ-платформы.

Не знаю, если это возможно, создать что-то с PHP + Delphi, то, как отправка электронной почты, программного обеспечения, захватить и выдать какой-то оповещения(например, звуковой сигнал) для клиента.

я Хотел бы, что бы можно было эту связь delphi с PHP, но не знаю, можно ли взаимодействовать язык веб-платформа, с другой, что не является прямой.

 12
Author: Ale, 2015-10-18

3 answers

Я Предлагаю следующую архитектуры: - WebService в PHP сервер; - Настольное приложение, Delphi, ссылаясь на WS сервера.

Для настольных приложений, не имеет очень скрытным, используйте Таймер, и сделать применение получает ее в Трей Windows, вы можете использовать этот компонент: QTrayIcon.

- вызовы к серверу, вы можете использовать библиотеку Indy.

" На сервере, в PHP это просто для вас, чтобы сделать WebService просто читая вызова через GET и возвращает его, если были внесены изменения или нет, можно вернуться с JSON, содержащий ответы, которые вы хотите, что-то вроде:

.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?pg=$1

Примере WS простой:

<?php
header("Access-Control-Allow-Origin: *");

$dadosRecebidos = $_GET['pg']);

switch ($_SERVER['REQUEST_METHOD']) {
    case 'GET':
        if ($dadosRecebidos[0] == TESTE){
            echo json_encode(array(MSG_OK, "CONEXAO OK"));
    case ...
...

я также Предлагаю перенести в Delphi для Lazarus, все open-source!

 10
Author: Celso Marigo Jr, 2015-10-28 11:49:23

Другой способ реализовать эту функцию, что никто не заметил, через использование Webhooks.

"polling", то есть, остаться, ссылаясь на сервере время от времени (через http-запрос, или же посредством прямой доступ к базе данных) является неэффективным в некоторых случаях.

Структура, что друг Александр подал разрешить веб-приложение подключается к терминалу клиента, можно создать приложение в Delphi, который является мини-сервера веб, что будет ждать подключения. Когда этот веб-сервера появляется какая-то связь, он может отображать сообщение каким-то образом, чтобы пользователь (в области уведомлений, например).

Преимущество webhooks в том, что уведомления будут происходить в режиме реального времени, то есть, в тот момент, когда событие происходит в веб-приложении.

, framework интересно, что может облегчить реализацию этой функции Брук Framework.

 5
Author: Clayton A. Alves, 2015-10-29 13:16:20

В Настоящее время я использую это в системе в помещении, где я жил, в основном работает, как вы хотите.

Веб-приложения отвечает за получение запросов или заказов, сделанных клиентом, и приложение в Магазине, владелец получает 'и слушает," базы данных в интернете, каждый раз, когда клиент выполняет запрос/заказ/бюджета сомневается, я записываю в поле конкретного банка.

Логику, используемую на Веб -

pedido = 1
encomenda = 2
orcamento = 3
duvida = 4

В настольное приложение (я использовал timer = предыдущий коллега упомянул, но в диапазоне, меньше, каждые 30 секунд, я запускаю Select в базе, что является очень маленьким, не создавая нагрузки либо в Банке, где это в Интернете):

if (resultado sql do campo especificado) = 1 (ou qualquer outro listado acima) then
begin
  //Aqui eu solicito o Som (sim o som, gravei com uma moça de voz suave o aviso)
end;

- клиент, который мне заказали такой системе сегодня есть 2 магазина, и уже сегодня открываем третий, и ранее уже попросил отпуск для использования в третий магазин! Сферу деятельности его Строительства, но может быть использован в любой отрасли!

 4
Author: Junior Moreira, 2015-10-24 17:00:07