Работа с HTTP в .exe

Простейшие вопросы в области инженерной разработки
Andrey_B
interested
interested
Сообщения: 5
Зарегистрирован: 18 сен 2023, 08:33
Версия LabVIEW: 7.1
Контактная информация:

Работа с HTTP в .exe

Сообщение Andrey_B »

Здравствуйте, форумчане.
Столкнулся с такой проблемой на :labview: 7.1. Если запускать программу в среде то сайт по адресу 127.0.0.1:80 доступен и с ним можно взаимодействовать, но при сборке в .exe сайт становится недоступным.
Приложение должно само генерировать станица и при взаимодействии с сайтом вызывать необходимые :vi: обработки события.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3496
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 54 раза
Поблагодарили: 185 раз
Контактная информация:

Re: Работа с HTTP в .exe

Сообщение Artem.spb »

Проблема в том, что даже не понятно, что вы пытаетесь сделать?
Web-сервер на labVIEW, или из программы получить страницы?

Порты открыты?
Firewall-ы всякие?
:labview: и винда совместимы? Вы пишете, что у вас версия 7.1. На какой винде запускаете? Совместимость давно закончилась. У меня даже на :labview: 14 некоторые функции под Win10 не работали.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5526
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 32 раза
Поблагодарили: 98 раз

Re: Работа с HTTP в .exe

Сообщение IvanLis »

Andrey_B писал(а): 18 сен 2023, 08:43 Приложение должно само генерировать станица и при взаимодействии с сайтом вызывать необходимые :vi: обработки события.
Выведите и проверьте правильность путей к файлам и сравните их в отладочной среде и после компиляции.
Дело в том, что они могут поменяться в зависимости от используемых констант.
Andrey_B
interested
interested
Сообщения: 5
Зарегистрирован: 18 сен 2023, 08:33
Версия LabVIEW: 7.1
Контактная информация:

Re: Работа с HTTP в .exe

Сообщение Andrey_B »

Artem.spb писал(а): 18 сен 2023, 16:25 Проблема в том, что даже не понятно, что вы пытаетесь сделать?
Web-сервер на labVIEW, или из программы получить страницы?

Порты открыты?
Firewall-ы всякие?
:labview: и винда совместимы? Вы пишете, что у вас версия 7.1. На какой винде запускаете? Совместимость давно закончилась. У меня даже на :labview: 14 некоторые функции под Win10 не работали.
Здравствуйте.
Есть приложение, которое создает web страницу, с этой страницы можно взаимодействовать с программой менять в самой программе параметры для передачи в файлы. Так же программа общается по http с другими программами.
Порты открыты, разрешения все выданы. Есть более ранняя версия ПО, собранная не мной, там все корректно работает.
У меня вопрос со сборкой, то есть если запускать из vi все хорошо стартует, а после сборки в приложение ошибка доступа или страница не найдена.
Винда 11, но могу и из под виртуалки запустить эффект тот же.
IvanLis писал(а): 18 сен 2023, 19:14
Andrey_B писал(а): 18 сен 2023, 08:43 Приложение должно само генерировать станица и при взаимодействии с сайтом вызывать необходимые :vi: обработки события.
Выведите и проверьте правильность путей к файлам и сравните их в отладочной среде и после компиляции.
Дело в том, что они могут поменяться в зависимости от используемых констант.
Здравствуйте.
Я это все проверил все пути корректны
Последний раз редактировалось Andrey_B 19 сен 2023, 04:40, всего редактировалось 1 раз.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3496
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 54 раза
Поблагодарили: 185 раз
Контактная информация:

Re: Работа с HTTP в .exe

Сообщение Artem.spb »

Andrey_B писал(а): 19 сен 2023, 04:28 Есть приложение, которое создает web страницу, с этой страницы можно взаимодействовать с программой менять в самой программе параметры для передачи в файлы. Так же программа общается по http с другими программами.
Я правильно понимаю, что у вас по сути работа в обе стороны? Ваша программа и web-сервером работает, и сама что-то с других серверов читает?
У меня вопрос со сборкой, то есть если запускать из vi все хорошо стартует, а после сборки в приложение ошибка доступа или страница не найдена.
Возможно, в сборке не хватает каких-то файлов.
Добавить можно в раздел "Always include"
Туда нужно добавить все шаблоны и динамическиt VI, если они есть в проекте
Снимок.PNG
Снимок.PNG (10.37 КБ) 3219 просмотров
Andrey_B
interested
interested
Сообщения: 5
Зарегистрирован: 18 сен 2023, 08:33
Версия LabVIEW: 7.1
Контактная информация:

Re: Работа с HTTP в .exe

Сообщение Andrey_B »

Artem.spb писал(а): 19 сен 2023, 13:04 Я правильно понимаю, что у вас по сути работа в обе стороны? Ваша программа и web-сервером работает, и сама что-то с других серверов читает?
Не серверов, но да.
Artem.spb писал(а): 19 сен 2023, 13:04 Возможно, в сборке не хватает каких-то файлов.
Добавить можно в раздел "Always include"
Туда нужно добавить все шаблоны и динамическиt VI, если они есть в проекте
Снимок.PNG
В :labview: 7.1 это меню немного по другому устроенно, но не суть.
Untitled.png
Суть в том что в этом скрипте уже весь проект добавлен. Я посмотрел старую компоновку exe файла и сравнил какие :vi: в нем есть.
Скорее всего каких-то настроек не хватает именно для сборки, в плане конфигурирования приложения. Может есть какие-то особенности в сборке под :labview: 7.1.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3496
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 54 раза
Поблагодарили: 185 раз
Контактная информация:

Re: Работа с HTTP в .exe

Сообщение Artem.spb »

Посмотрите, есть ли ошибки в функциях, которые в вашей программе ждут входящие запросы.
Проверьте таки порт. В новых версиях :labview: у wed-сервера для дебага и ехе разные порты.

И если есть возможность, замените в старом скрипте main на новый. Будет ли работать такая сборка?
Andrey_B
interested
interested
Сообщения: 5
Зарегистрирован: 18 сен 2023, 08:33
Версия LabVIEW: 7.1
Контактная информация:

Re: Работа с HTTP в .exe

Сообщение Andrey_B »

Artem.spb писал(а): 20 сен 2023, 14:22 Посмотрите, есть ли ошибки в функциях, которые в вашей программе ждут входящие запросы.
Проверьте таки порт. В новых версиях :labview: у wed-сервера для дебага и ехе разные порты.

И если есть возможность, замените в старом скрипте main на новый. Будет ли работать такая сборка?
Все еще раз проверил все :vi: целые связи на месте, с портом то же все окей.
У меня не новая версия а старый динозавр :haha:
Точки входа менял результат тот же.

Есть ссылки на тулкиты к :labview: 7.1? Может один кривой у меня. В частности интересует Internet Toolkit.
Как я выяснил из исходников использовался G web server за основу. Возможно это будет решением, но это не точно.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3496
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 54 раза
Поблагодарили: 185 раз
Контактная информация:

Re: Работа с HTTP в .exe

Сообщение Artem.spb »

Если "ничего не менял, оно само перестало работать", то ищите, что именно вы не меняли.
Если старая программа работает, то тулкиты не ломанные, проблема в обновлениях программы.
Но я пока не понял, в чём разница между старым и новым.
Andrey_B
interested
interested
Сообщения: 5
Зарегистрирован: 18 сен 2023, 08:33
Версия LabVIEW: 7.1
Контактная информация:

Re: Работа с HTTP в .exe

Сообщение Andrey_B »

Artem.spb писал(а): 21 сен 2023, 11:24 Если "ничего не менял, оно само перестало работать", то ищите, что именно вы не меняли.
Если старая программа работает, то тулкиты не ломанные, проблема в обновлениях программы.
Но я пока не понял, в чём разница между старым и новым.
Я просто открыл исходник и сделал билд. Скорее всего тот кто до меня что-то в проекте делал либо не доделал либо сломал. Пойти и допытать этого человека не получится.
Вот и пытаюсь разобраться что он в проекте нафигачил.
Сейчас но моей машине тулкитов нет, они были только на виртуалке откуда проект забирал. Но установочных файлов там нет
Последний раз редактировалось Andrey_B 21 сен 2023, 11:57, всего редактировалось 1 раз.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3496
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 54 раза
Поблагодарили: 185 раз
Контактная информация:

Re: Работа с HTTP в .exe

Сообщение Artem.spb »

Вы, вроде писали, что старая сборка у вас собирается нормально. А теперь оказывается, что никакая не работает.
Если вы :vi: можете запустить, то все нужные тулкиты уже есть на этой машине, но вполне возможно, что их не хватает в сборке.
Вот так наугад что-то толковое посоветовать сложно, все общие советы уже написаны тут.
Так что вам надо поставить контрольных точек (индикаторы error) по всей программе и искать, где ошибка.
Ещё есть дебажная опция при сборке (не знаю только, была ли она в семёрке), можно после компиляции открыть блок-диаграмму и смотреть, что там происходит.
Andrey_B
interested
interested
Сообщения: 5
Зарегистрирован: 18 сен 2023, 08:33
Версия LabVIEW: 7.1
Контактная информация:

Re: Работа с HTTP в .exe

Сообщение Andrey_B »

Artem.spb писал(а): 21 сен 2023, 20:58 Вы, вроде писали, что старая сборка у вас собирается нормально. А теперь оказывается, что никакая не работает.
Если вы :vi: можете запустить, то все нужные тулкиты уже есть на этой машине, но вполне возможно, что их не хватает в сборке.
Вот так наугад что-то толковое посоветовать сложно, все общие советы уже написаны тут.
Так что вам надо поставить контрольных точек (индикаторы error) по всей программе и искать, где ошибка.
Ещё есть дебажная опция при сборке (не знаю только, была ли она в семёрке), можно после компиляции открыть блок-диаграмму и смотреть, что там происходит.
Старая сборка, это .exe собранный до меня, может не так просто выразился.
Ладно буду дальше пробовать дебажить по 2 кругу и искать тулкиты
Andrey_B
interested
interested
Сообщения: 5
Зарегистрирован: 18 сен 2023, 08:33
Версия LabVIEW: 7.1
Контактная информация:

Re: Работа с HTTP в .exe

Сообщение Andrey_B »

Может кто работал с G Web Server, какие там есть подводные камни или особенности?
ujin1
adviser
adviser
Сообщения: 239
Зарегистрирован: 06 ноя 2020, 15:37
Версия LabVIEW: 19
Благодарил (а): 19 раз
Поблагодарили: 38 раз
Контактная информация:

Re: Работа с HTTP в .exe

Сообщение ujin1 »

Andrey_B писал(а): 25 сен 2023, 04:54 Может кто работал с G Web Server, какие там есть подводные камни или особенности?
Если Вы о G Web Development Software, то есть несколько выявленных мной "особенностей".
Я применял, сделал Web интерфейс с использованием Gweb.
При использовании столкнулся с тем, что
1. Сама IDE ну очень сильно тормозит. Нужен комп 4 ядра по 3,5 ГГц и ОЗУ не менее 16ГБ с частотой 2400 МГц и более, т е с минимальными задержками.
2. Функционал очень сильно ограничен. И не просто ограничен а уменьшен по сравнению с предшественником Labview NXG
3. Общение с основной программой на LabVIEW и вообще с внешним миром ограничено допустимыми способами браузера. Пока самым удобным я нашел WebSocket client.
4. Соответственно в основной программе нужно поднимать WebSocket Server с возможностью нескольких подключений. А его такого стандартного нет.
5. Весь остальной обмен нужно оборачивать WebSocket. Управляющие сигналы, обращение к базе данных. Встречал пример Modbus TCP через WebSocket. Это реализовано в Web интерфейсе модулей ввода вывода от ICPDAS
6. Стандартный WebSocket client в Gweb создает очередь и все принимаемые сообщения закидывает в эту очередь. При неактивной вкладке очередь все равно формируется браузером и при переключении на эту вкладку очередь начинает подставлять старые данные. Придется погружаться в JavaScript код чтобы поправить. Настроек в GWeb, чтобы задать размер очереди нет. Либо использовать в Event структуре событие Panel: Online status changed свойство connected.
7. JavaScript код основан на устаревших подходах, например в основе SubVI используется Immediately-Invoked Function Expression (IIFE) вида (function () {}());. Про которую пишут эта функция не рекомендуется в строгом режиме ECMAScript 5. https://benalman.com/news/2010/11/immed ... xpression/. Если Вы захотите что то подправить под себя, то придется искать старые примеры по программированию на JavaScript.

Похоже NI не вкладывает ресурсы в это направление. И если на LabVIEW можно обойтись без программирования на СИ и т.д., то на GWEB, на мой взгляд, не получится обойтись без начального знания JavaScript. Но так же можно обойтись без глубокого знания JavaScript и опыта на JavaScript. Например я поверхностно изучил JavaScript и уже могу делать несложные Web страницы с использованием GWEB.
Изображение
Artem.spb

Activity Автор
professor
professor
Сообщения: 3496
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 54 раза
Поблагодарили: 185 раз
Контактная информация:

Re: Работа с HTTP в .exe

Сообщение Artem.spb »

ujin1 писал(а): 25 сен 2023, 09:04 1. Сама IDE ну очень сильно тормозит. Нужен комп 4 ядра по 3,5 ГГц и ОЗУ не менее 16ГБ с частотой 2400 МГц и более, т е с минимальными задержками.
эмм. В вопросе речь шла про :labview: 7. Откуда там такие запросы? да и 16Гб на 32-разрядной версии никак не добыть.
Похоже NI не вкладывает ресурсы в это направление. И если на LabVIEW можно обойтись без программирования на СИ и т.д., то на GWEB, на мой взгляд, не получится обойтись без начального знания JavaScript. Но так же можно обойтись без глубокого знания JavaScript и опыта на JavaScript. Например я поверхностно изучил JavaScript и уже могу делать несложные Web страницы с использованием GWEB.
Ну делать веб-страницы без знания html и всего сопутствующего - гиблое дело, так что тут ничего странного.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»