Работа с HTTP в .exe
-
- interested
- Сообщения: 5
- Зарегистрирован: 18 сен 2023, 08:33
- Версия LabVIEW: 7.1
- Контактная информация:
Работа с HTTP в .exe
Здравствуйте, форумчане.
Столкнулся с такой проблемой на 7.1. Если запускать программу в среде то сайт по адресу 127.0.0.1:80 доступен и с ним можно взаимодействовать, но при сборке в .exe сайт становится недоступным.
Приложение должно само генерировать станица и при взаимодействии с сайтом вызывать необходимые обработки события.
Столкнулся с такой проблемой на 7.1. Если запускать программу в среде то сайт по адресу 127.0.0.1:80 доступен и с ним можно взаимодействовать, но при сборке в .exe сайт становится недоступным.
Приложение должно само генерировать станица и при взаимодействии с сайтом вызывать необходимые обработки события.
-
- professor
- Сообщения: 3496
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 54 раза
- Поблагодарили: 185 раз
- Контактная информация:
Re: Работа с HTTP в .exe
Проблема в том, что даже не понятно, что вы пытаетесь сделать?
Web-сервер на labVIEW, или из программы получить страницы?
Порты открыты?
Firewall-ы всякие?
и винда совместимы? Вы пишете, что у вас версия 7.1. На какой винде запускаете? Совместимость давно закончилась. У меня даже на 14 некоторые функции под Win10 не работали.
Web-сервер на labVIEW, или из программы получить страницы?
Порты открыты?
Firewall-ы всякие?
и винда совместимы? Вы пишете, что у вас версия 7.1. На какой винде запускаете? Совместимость давно закончилась. У меня даже на 14 некоторые функции под Win10 не работали.
-
IvanLis
- guru
- Сообщения: 5526
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 32 раза
- Поблагодарили: 98 раз
Re: Работа с HTTP в .exe
Выведите и проверьте правильность путей к файлам и сравните их в отладочной среде и после компиляции.
Дело в том, что они могут поменяться в зависимости от используемых констант.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- interested
- Сообщения: 5
- Зарегистрирован: 18 сен 2023, 08:33
- Версия LabVIEW: 7.1
- Контактная информация:
Re: Работа с HTTP в .exe
Здравствуйте.Artem.spb писал(а): ↑18 сен 2023, 16:25 Проблема в том, что даже не понятно, что вы пытаетесь сделать?
Web-сервер на labVIEW, или из программы получить страницы?
Порты открыты?
Firewall-ы всякие?
и винда совместимы? Вы пишете, что у вас версия 7.1. На какой винде запускаете? Совместимость давно закончилась. У меня даже на 14 некоторые функции под Win10 не работали.
Есть приложение, которое создает web страницу, с этой страницы можно взаимодействовать с программой менять в самой программе параметры для передачи в файлы. Так же программа общается по http с другими программами.
Порты открыты, разрешения все выданы. Есть более ранняя версия ПО, собранная не мной, там все корректно работает.
У меня вопрос со сборкой, то есть если запускать из vi все хорошо стартует, а после сборки в приложение ошибка доступа или страница не найдена.
Винда 11, но могу и из под виртуалки запустить эффект тот же.
Здравствуйте.
Я это все проверил все пути корректны
Последний раз редактировалось Andrey_B 19 сен 2023, 04:40, всего редактировалось 1 раз.
-
- professor
- Сообщения: 3496
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 54 раза
- Поблагодарили: 185 раз
- Контактная информация:
Re: Работа с HTTP в .exe
Я правильно понимаю, что у вас по сути работа в обе стороны? Ваша программа и web-сервером работает, и сама что-то с других серверов читает?
Возможно, в сборке не хватает каких-то файлов.У меня вопрос со сборкой, то есть если запускать из vi все хорошо стартует, а после сборки в приложение ошибка доступа или страница не найдена.
Добавить можно в раздел "Always include"
Туда нужно добавить все шаблоны и динамическиt VI, если они есть в проекте
-
- interested
- Сообщения: 5
- Зарегистрирован: 18 сен 2023, 08:33
- Версия LabVIEW: 7.1
- Контактная информация:
Re: Работа с HTTP в .exe
Не серверов, но да.
В 7.1 это меню немного по другому устроенно, но не суть. Суть в том что в этом скрипте уже весь проект добавлен. Я посмотрел старую компоновку exe файла и сравнил какие в нем есть.
Скорее всего каких-то настроек не хватает именно для сборки, в плане конфигурирования приложения. Может есть какие-то особенности в сборке под 7.1.
-
- professor
- Сообщения: 3496
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 54 раза
- Поблагодарили: 185 раз
- Контактная информация:
Re: Работа с HTTP в .exe
Посмотрите, есть ли ошибки в функциях, которые в вашей программе ждут входящие запросы.
Проверьте таки порт. В новых версиях у wed-сервера для дебага и ехе разные порты.
И если есть возможность, замените в старом скрипте main на новый. Будет ли работать такая сборка?
Проверьте таки порт. В новых версиях у wed-сервера для дебага и ехе разные порты.
И если есть возможность, замените в старом скрипте main на новый. Будет ли работать такая сборка?
-
- interested
- Сообщения: 5
- Зарегистрирован: 18 сен 2023, 08:33
- Версия LabVIEW: 7.1
- Контактная информация:
Re: Работа с HTTP в .exe
Все еще раз проверил все целые связи на месте, с портом то же все окей.Artem.spb писал(а): ↑20 сен 2023, 14:22 Посмотрите, есть ли ошибки в функциях, которые в вашей программе ждут входящие запросы.
Проверьте таки порт. В новых версиях у wed-сервера для дебага и ехе разные порты.
И если есть возможность, замените в старом скрипте main на новый. Будет ли работать такая сборка?
У меня не новая версия а старый динозавр
Точки входа менял результат тот же.
Есть ссылки на тулкиты к 7.1? Может один кривой у меня. В частности интересует Internet Toolkit.
Как я выяснил из исходников использовался G web server за основу. Возможно это будет решением, но это не точно.
-
- professor
- Сообщения: 3496
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 54 раза
- Поблагодарили: 185 раз
- Контактная информация:
Re: Работа с HTTP в .exe
Если "ничего не менял, оно само перестало работать", то ищите, что именно вы не меняли.
Если старая программа работает, то тулкиты не ломанные, проблема в обновлениях программы.
Но я пока не понял, в чём разница между старым и новым.
Если старая программа работает, то тулкиты не ломанные, проблема в обновлениях программы.
Но я пока не понял, в чём разница между старым и новым.
-
- interested
- Сообщения: 5
- Зарегистрирован: 18 сен 2023, 08:33
- Версия LabVIEW: 7.1
- Контактная информация:
Re: Работа с HTTP в .exe
Я просто открыл исходник и сделал билд. Скорее всего тот кто до меня что-то в проекте делал либо не доделал либо сломал. Пойти и допытать этого человека не получится.
Вот и пытаюсь разобраться что он в проекте нафигачил.
Сейчас но моей машине тулкитов нет, они были только на виртуалке откуда проект забирал. Но установочных файлов там нет
Последний раз редактировалось Andrey_B 21 сен 2023, 11:57, всего редактировалось 1 раз.
-
- professor
- Сообщения: 3496
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 54 раза
- Поблагодарили: 185 раз
- Контактная информация:
Re: Работа с HTTP в .exe
Вы, вроде писали, что старая сборка у вас собирается нормально. А теперь оказывается, что никакая не работает.
Если вы можете запустить, то все нужные тулкиты уже есть на этой машине, но вполне возможно, что их не хватает в сборке.
Вот так наугад что-то толковое посоветовать сложно, все общие советы уже написаны тут.
Так что вам надо поставить контрольных точек (индикаторы error) по всей программе и искать, где ошибка.
Ещё есть дебажная опция при сборке (не знаю только, была ли она в семёрке), можно после компиляции открыть блок-диаграмму и смотреть, что там происходит.
Если вы можете запустить, то все нужные тулкиты уже есть на этой машине, но вполне возможно, что их не хватает в сборке.
Вот так наугад что-то толковое посоветовать сложно, все общие советы уже написаны тут.
Так что вам надо поставить контрольных точек (индикаторы error) по всей программе и искать, где ошибка.
Ещё есть дебажная опция при сборке (не знаю только, была ли она в семёрке), можно после компиляции открыть блок-диаграмму и смотреть, что там происходит.
-
- interested
- Сообщения: 5
- Зарегистрирован: 18 сен 2023, 08:33
- Версия LabVIEW: 7.1
- Контактная информация:
Re: Работа с HTTP в .exe
Старая сборка, это .exe собранный до меня, может не так просто выразился.Artem.spb писал(а): ↑21 сен 2023, 20:58 Вы, вроде писали, что старая сборка у вас собирается нормально. А теперь оказывается, что никакая не работает.
Если вы можете запустить, то все нужные тулкиты уже есть на этой машине, но вполне возможно, что их не хватает в сборке.
Вот так наугад что-то толковое посоветовать сложно, все общие советы уже написаны тут.
Так что вам надо поставить контрольных точек (индикаторы error) по всей программе и искать, где ошибка.
Ещё есть дебажная опция при сборке (не знаю только, была ли она в семёрке), можно после компиляции открыть блок-диаграмму и смотреть, что там происходит.
Ладно буду дальше пробовать дебажить по 2 кругу и искать тулкиты
-
- interested
- Сообщения: 5
- Зарегистрирован: 18 сен 2023, 08:33
- Версия LabVIEW: 7.1
- Контактная информация:
Re: Работа с HTTP в .exe
Может кто работал с G Web Server, какие там есть подводные камни или особенности?
-
- adviser
- Сообщения: 239
- Зарегистрирован: 06 ноя 2020, 15:37
- Версия LabVIEW: 19
- Благодарил (а): 19 раз
- Поблагодарили: 38 раз
- Контактная информация:
Re: Работа с HTTP в .exe
Если Вы о 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.
-
- professor
- Сообщения: 3496
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 54 раза
- Поблагодарили: 185 раз
- Контактная информация:
Re: Работа с HTTP в .exe
эмм. В вопросе речь шла про 7. Откуда там такие запросы? да и 16Гб на 32-разрядной версии никак не добыть.
Ну делать веб-страницы без знания html и всего сопутствующего - гиблое дело, так что тут ничего странного.Похоже NI не вкладывает ресурсы в это направление. И если на LabVIEW можно обойтись без программирования на СИ и т.д., то на GWEB, на мой взгляд, не получится обойтись без начального знания JavaScript. Но так же можно обойтись без глубокого знания JavaScript и опыта на JavaScript. Например я поверхностно изучил JavaScript и уже могу делать несложные Web страницы с использованием GWEB.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 10 Ответы
- 3029 Просмотры
-
Последнее сообщение PAG
-
- 1 Ответы
- 541 Просмотры
-
Последнее сообщение Artem.spb
-
- 4 Ответы
- 667 Просмотры
-
Последнее сообщение Andrew Lunev
-
- 1 Ответы
- 557 Просмотры
-
Последнее сообщение AndreyDmitriev