53 / 12 / 4
Регистрация: 20.05.2014
Сообщений: 47
|
|
1 | |
Связать десктоп с удаленным веб сервером18.08.2017, 08:42. Показов 1679. Ответов 9
Метки нет Все метки)
(
Всем доброго времени суток.
Задача следующая, есть десктопное приложение написанное на Делфи, допустим приложение логгирует параметры входящего запроса. Есть веб сервер, развернутый на хостинге. Необходимо по клику на кнопку в веб интерфейсе, связаться с вышеозначенным десктопным приложением, передать ему данные и получить от него статус. Вопрос какие существуют способы реализации данной задачи. Я практически ноль в Делфи, мне хотелось бы узнать именно направление, куда копать. Как я себе это представляю есть несколько вариантов: десктопное приложение знает куда смотреть на сервере и ожидает в этом месте изменений, либо у приложения есть "адрес" и веб сервер связывается с ним по этому адресу. Возможно я заблуждаюсь и существует общепринятый, "стандартный" способ решения подобных задач, очень хотелось бы получить ответ специалистов. Большое спасибо всем откликнувшимся. PS Если задача тривиальна, и уже часто обсуждалась(что вполне вероятно), прошу сильно не пинать, я просто не нашел, дайте ссылку на тему.
0
|
18.08.2017, 08:42 | |
18.08.2017, 08:42 | |
Ответы с готовыми решениями:
9
Работа с удаленным сервером. Невозможно соединиться с удаленным сервером Соединение закрыто удаленным сервером |
53 / 12 / 4
Регистрация: 20.05.2014
Сообщений: 47
|
|
18.08.2017, 09:11 [ТС] | 3 |
Я могу представить, что оно написано на Java, и тогда я бы спросил в разделе Java, но оно написано на ДЕЛФИ, поэтому спрашиваю здесь.
Есть ответ на мой вопрос, или будем о разном разговаривать?
0
|
18.08.2017, 09:17 | 4 |
на ваш вопрос нет ответа, потому что он не в том разделе
делфи\ява\си тут не при чем при чем тут вообще экзешник? он делает свою работу и все. вам нужно по кнопке из веба обратиться куда-то и что-то получить. вот и идите в веб и узнавайте как это делается. другое дело если вам надо прогу на делфи переписать - тогда вам подскажут.
0
|
53 / 12 / 4
Регистрация: 20.05.2014
Сообщений: 47
|
|
18.08.2017, 09:26 [ТС] | 5 |
Так о том и речь. Меня интересует как сконнектить удаленный веб сервер и десктопное приложение, а именно способы реализации со стороны десктопа. Какие в принципе существуют пути решения, хотя бы знать что именно гуглить.
0
|
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
|
53 / 12 / 4
Регистрация: 20.05.2014
Сообщений: 47
|
|
18.08.2017, 10:15 [ТС] | 9 |
Вот это наверное ближе, сейчас приложение получает POST запрос и парсит JSON. В локальном варианте это работает, хотя выглядит для меня, как веб разработчика, очень странно. По сути приложение слушает порт хххх, а я делаю обычный Ajax запрос по адресу 127.0.0.1:хххх и приложение получает этот запрос, но ответа я добиться не могу, я так понимаю проблемы связаны с тем что запрос получается кроссдоменным. Самое удивительное что такой вариант работает и удаленно, то есть если на сайте написан скрипт обращающийся к локальному порту и если на твоем компе у этого порта есть слушатель, то при открытии страницы этого сайта он свяжется с локальным портом по адресу 127.0.0.1:хххх. У меня в голове не укладывается как такое возможно, но это так.
0
|
![]() |
|
18.08.2017, 12:03 | 10 |
как почти оперативно обновляется информация на странице в браузере? есть несколько способов.
вам нужно выбрать один из них но ни один из способов не предполагает, что сервер вызовет вашего клиента есть запросы через некий интервал есть долго висящий запрос в зависимости от интенсивности обмена лучше выбирать либо то либо другое, либо делать нечто среднее делфи здесь ничем не отличается от любого другого языка например вот https://habrahabr.ru/post/275671/
0
|
18.08.2017, 12:03 | |
18.08.2017, 12:03 | |
Помогаю со студенческими работами здесь
10
Соединение с удаленным SQL сервером Соединение закрыто удаленным сервером (соединение закрыто удаленным сервером) Соединение закрыто удаленным сервером [Api] не удается соединиться с удаленным сервером Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Отключение отслеживания файла, занесенного в .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 предлагает несколько методов для отмены индексации файлов перед созданием коммита. Разработчики часто сталкиваются с ситуацией, когда нужно убрать файлы из индекса, не теряя внесенные изменения в. . .
|