PHP + Delphi(Pascal), выдавать в реальном времени
я Хотел бы выработать система, маленький, простой, закодированные на языке Pascal(delphi IDE), чтобы получать уведомления(например, уведомление о том, что некоторое событие уже произошло), после получения предупреждения играть какой-то звук.
Понимаю немного в Delphi, это был один из языков, которые я начал только из любопытства, но я в конечном итоге снижается после того, как я пришел, чтобы ВЕБ-платформы.
Не знаю, если это возможно, создать что-то с PHP + Delphi, то, как отправка электронной почты, программного обеспечения, захватить и выдать какой-то оповещения(например, звуковой сигнал) для клиента.
я Хотел бы, что бы можно было эту связь delphi с PHP, но не знаю, можно ли взаимодействовать язык веб-платформа, с другой, что не является прямой.
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!
Другой способ реализовать эту функцию, что никто не заметил, через использование Webhooks.
"polling", то есть, остаться, ссылаясь на сервере время от времени (через http-запрос, или же посредством прямой доступ к базе данных) является неэффективным в некоторых случаях.
Структура, что друг Александр подал разрешить веб-приложение подключается к терминалу клиента, можно создать приложение в Delphi, который является мини-сервера веб, что будет ждать подключения. Когда этот веб-сервера появляется какая-то связь, он может отображать сообщение каким-то образом, чтобы пользователь (в области уведомлений, например).
Преимущество webhooks в том, что уведомления будут происходить в режиме реального времени, то есть, в тот момент, когда событие происходит в веб-приложении.
, framework интересно, что может облегчить реализацию этой функции Брук Framework.
В Настоящее время я использую это в системе в помещении, где я жил, в основном работает, как вы хотите.
Веб-приложения отвечает за получение запросов или заказов, сделанных клиентом, и приложение в Магазине, владелец получает 'и слушает," базы данных в интернете, каждый раз, когда клиент выполняет запрос/заказ/бюджета сомневается, я записываю в поле конкретного банка.
Логику, используемую на Веб -
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 магазина, и уже сегодня открываем третий, и ранее уже попросил отпуск для использования в третий магазин! Сферу деятельности его Строительства, но может быть использован в любой отрасли!