53 / 12 / 4
Регистрация: 20.05.2014
Сообщений: 47
1

Связать десктоп с удаленным веб сервером

18.08.2017, 08:42. Показов 1679. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток.
Задача следующая, есть десктопное приложение написанное на Делфи, допустим приложение логгирует параметры входящего запроса. Есть веб сервер, развернутый на хостинге. Необходимо по клику на кнопку в веб интерфейсе, связаться с вышеозначенным десктопным приложением, передать ему данные и получить от него статус.
Вопрос какие существуют способы реализации данной задачи. Я практически ноль в Делфи, мне хотелось бы узнать именно направление, куда копать.
Как я себе это представляю есть несколько вариантов: десктопное приложение знает куда смотреть на сервере и ожидает в этом месте изменений, либо у приложения есть "адрес" и веб сервер связывается с ним по этому адресу. Возможно я заблуждаюсь и существует общепринятый, "стандартный" способ решения подобных задач, очень хотелось бы получить ответ специалистов.
Большое спасибо всем откликнувшимся.
PS Если задача тривиальна, и уже часто обсуждалась(что вполне вероятно), прошу сильно не пинать, я просто не нашел, дайте ссылку на тему.
0
18.08.2017, 08:42
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.08.2017, 08:42
Ответы с готовыми решениями:

Работа с удаленным сервером.
Всем форумчанам привет. Ребята, подскажите, пожалуйста, кто знает, как можно реализовать 2 вещи. У меня стоит локальный комплект...

Невозможно соединиться с удаленным сервером
System.ServiceModel.EndpointNotFoundException: Прослушивание на http://localhost:17027/ не выполняла ни одна конечная точка, которая могла...

Соединение закрыто удаленным сервером
Добрый день. после удаления баннера с голыми тетками (при помощи CureIt) перестали открываться некоторые сайты, либо открываются с 5-10...

9
5599 / 4449 / 1080
Регистрация: 29.08.2013
Сообщений: 27,784
Записей в блоге: 3
18.08.2017, 09:02 2
а при чем тут делфи?
просто потому что
Цитата Сообщение от CTapu4ok Посмотреть сообщение
есть десктопное приложение написанное на Делфи
????

представьте что оно не на делфи - у кого спрашивать будете?
0
53 / 12 / 4
Регистрация: 20.05.2014
Сообщений: 47
18.08.2017, 09:11  [ТС] 3
Я могу представить, что оно написано на Java, и тогда я бы спросил в разделе Java, но оно написано на ДЕЛФИ, поэтому спрашиваю здесь.
Есть ответ на мой вопрос, или будем о разном разговаривать?
0
5599 / 4449 / 1080
Регистрация: 29.08.2013
Сообщений: 27,784
Записей в блоге: 3
18.08.2017, 09:17 4
на ваш вопрос нет ответа, потому что он не в том разделе
делфи\ява\си тут не при чем

при чем тут вообще экзешник? он делает свою работу и все. вам нужно по кнопке из веба обратиться куда-то и что-то получить. вот и идите в веб и узнавайте как это делается.

другое дело если вам надо прогу на делфи переписать - тогда вам подскажут.
0
53 / 12 / 4
Регистрация: 20.05.2014
Сообщений: 47
18.08.2017, 09:26  [ТС] 5
Так о том и речь. Меня интересует как сконнектить удаленный веб сервер и десктопное приложение, а именно способы реализации со стороны десктопа. Какие в принципе существуют пути решения, хотя бы знать что именно гуглить.
0
5599 / 4449 / 1080
Регистрация: 29.08.2013
Сообщений: 27,784
Записей в блоге: 3
18.08.2017, 09:40 6
с переписыванием приложения или без?

если "с", то вариантов куча - выгружать по кнопке в БД, а приложение проверяет и выдает ответ
если "без", то нужно смотреть как логируется\нагрузку

приложение где расположено? у веба туда доступ то есть? сколько будет нажатий на кнопку в секунду? с одного сервера?

Добавлено через 1 минуту
а по хорошему конечно нужна или служба или вебсервер на которое ваш веб шлет данные и получает ответ

Добавлено через 5 минут
Разработка WEB серверов и приложений в RAD Studio - для тех, кто не в Web
0
53 / 12 / 4
Регистрация: 20.05.2014
Сообщений: 47
18.08.2017, 09:49  [ТС] 7
Да, приложение можно переписывать.
выгружать по кнопке в БД, а приложение проверяет и выдает ответ
То есть по клику на сайте, я записываю данные в БД на хостинге(MySQL), приложение отслеживает изменение в конкретной таблице и принимает каждую добавленную строку?
приложение где расположено ?
Приложение расположено локально на ком-ютере пользователя.
у веба туда доступ то есть ?
Получается прямого доступа нет, но это не вирус, пользователь знает что он устанавливает и согласен на необходимые действия, если приложением развернуть на ком-ютере пользователя сервер, получить адрес то на стороне веб интерфейса можно обращаться к этому адресу, но в этих вопросах я не очень копенгаген.
сколько будет нажатий на кнопку в секунду ?
Я думаю в секунду не будет, речь скорее о минутах
0
5599 / 4449 / 1080
Регистрация: 29.08.2013
Сообщений: 27,784
Записей в блоге: 3
18.08.2017, 09:54 8
Цитата Сообщение от CTapu4ok Посмотреть сообщение
приложение отслеживает изменение в конкретной таблице и принимает каждую добавленную строку?
как вариант, что бы не лезть на комп пользователя - просто инициируем задачу.


ну или нужна служба которая постоянно будет висеть и обрабатывать запросы
0
53 / 12 / 4
Регистрация: 20.05.2014
Сообщений: 47
18.08.2017, 10:15  [ТС] 9
Цитата Сообщение от qwertehok Посмотреть сообщение
ну или нужна служба которая постоянно будет висеть и обрабатывать запросы
Вот это наверное ближе, сейчас приложение получает POST запрос и парсит JSON. В локальном варианте это работает, хотя выглядит для меня, как веб разработчика, очень странно. По сути приложение слушает порт хххх, а я делаю обычный Ajax запрос по адресу 127.0.0.1:хххх и приложение получает этот запрос, но ответа я добиться не могу, я так понимаю проблемы связаны с тем что запрос получается кроссдоменным. Самое удивительное что такой вариант работает и удаленно, то есть если на сайте написан скрипт обращающийся к локальному порту и если на твоем компе у этого порта есть слушатель, то при открытии страницы этого сайта он свяжется с локальным портом по адресу 127.0.0.1:хххх. У меня в голове не укладывается как такое возможно, но это так.
0
 Аватар для krapotkin
5876 / 4603 / 1449
Регистрация: 14.04.2014
Сообщений: 20,417
Записей в блоге: 20
18.08.2017, 12:03 10
как почти оперативно обновляется информация на странице в браузере? есть несколько способов.
вам нужно выбрать один из них
но ни один из способов не предполагает, что сервер вызовет вашего клиента
есть запросы через некий интервал
есть долго висящий запрос
в зависимости от интенсивности обмена лучше выбирать либо то либо другое, либо делать нечто среднее
делфи здесь ничем не отличается от любого другого языка
например вот
https://habrahabr.ru/post/275671/
0
18.08.2017, 12:03
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.08.2017, 12:03
Помогаю со студенческими работами здесь

Соединение с удаленным SQL сервером
Подскажите пожалуйста! Есть ли какая-нибудь особенность соединения с базой данных SQL сервера, находящегося на удаленном компьютере,...

Соединение закрыто удаленным сервером
В общем,проблема стара как мир..Опера не так давно начала выдавать подобную ошибку(примерно с неделю) при входе на различные...

(соединение закрыто удаленным сервером)
Доброго вам времени суток. Началось вроде бы все с ровного места, вчера вечером закончил работу. Запускаю сегодня и ерунда творится. Опера...

Соединение закрыто удаленным сервером
Собственно блокирует мне браузеры(

[Api] не удается соединиться с удаленным сервером
Привет всем! Хочу сделать подобие бота, который при запуске, оповещал об этом в телеграме. Код: using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Отключение отслеживания файла, занесенного в .gitignore в Git
hw_wired 10.02.2025
Git помогает следить за изменениями в проекте, но иногда требуется исключить определенные файлы из системы контроля версий. Это могут быть конфигурационные файлы с локальными настройками, временные. . .
Что такое use strict в JavaScript
hw_wired 10.02.2025
Директива use strict - способ перевода JavaScript-кода в строгий режим работы, который делает язык более безопасным и предсказуемым. Она появилась в ECMAScript 5 как ответ на многочисленные проблемы,. . .
Как в jQuery проверить, что элемент скрыт
hw_wired 10.02.2025
jQuery предоставляет несколько эффективных способов определить, скрыт элемент или отображается на странице. Самый простой метод использует специальные селекторы :hidden и :visible. Селектор :hidden. . .
Как проверить (check out) ветку Git в удаленном репозитории
hw_wired 10.02.2025
Проверка удаленной ветки в Git требует понимания нескольких базовых концепций и точного выполнения определенной последовательности действий. Для начала необходимо получить актуальную информацию о. . .
chucknorris в HTML и другие обозначения цветов
hw_wired 10.02.2025
HTML, как основной язык разметки веб-страниц, прошел длинный путь развития в плане работы с цветами. На заре развития веб-технологий разработчики могли использовать только базовый набор из 16. . .
Стек и куча: отличия и назначение
hw_wired 10.02.2025
Управление памятью - ключевой элемент работы любой программы. В современных языках программирования память делится на две основные области: стек и кучу. Каждая из них обладает уникальными. . .
Комментарии в JSON
hw_wired 10.02.2025
JSON - текстовый формат обмена данными, построенный на основе синтаксиса JavaScript. Этот формат отличается простотой, читаемостью и широкой поддержкой во всех современных языках программирования. . . .
Перезаписываем локальные файлы с помощью git pull
hw_wired 10.02.2025
Git pull - незаменимая команда для синхронизации локального репозитория с удаленным. При работе над проектом в команде разработчиков часто возникает необходимость получить актуальные изменения,. . .
Оператор --> в C++
hw_wired 10.02.2025
Оператор --> (называемый "spaceship operator" или оператор космического корабля) - важное нововведение в стандарте C++20, упрощающее реализацию операций сравнения в пользовательских типах данных. . . .
Отмена git add до коммита
hw_wired 10.02.2025
Git предлагает несколько методов для отмены индексации файлов перед созданием коммита. Разработчики часто сталкиваются с ситуацией, когда нужно убрать файлы из индекса, не теряя внесенные изменения в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru