@Q_Q К сожалению через node.js и ws модуль не могу конектится к сокету т.к там каждый раз создаётся уникальная ссылка для нового пользователя, а объект который её создаёт определить для меня трудно сайт написан на react + obfurscator. Плюс к этому ещё и в самом ws внутри нужно каждые 5 минут отправлять токен аутентификации который генерирует какая-то анонимная функция либо вообще на сервере. Вроде ещё как можно сделать обёртку или сделать прокси чтобы свои обработчики повесить но это уже вообще темный лес для меня недостижимый. Поэтому пришлось использовать такой костыль. В Принципе все работает, ws команды я отправляю также через Ява скрипт и взаимодействую с этим сайтом быстро не используя веб интерфейс сайта вообще. Единственная проблема это видеть всю консоль не только в режиме отладчика. Я думал может в BAS есть какой-то свой способ о котором я не знаю, просто парсить ее в переменную бесконечно каждый раз обращаясь к ней и записывая последнее действие по умолчанию
Управление BAS из вне
-
@GamiD Смотри, строчка:
res.send("="+[[NEW_VARIABLE]]+"=");Говорит, что твой сервер будет отдавать данные, то есть рисовать страничку.
Далее у тебя в скрипте стоит Увеличить переменную, которую ты показываешь на этой странице.
Получается ты заходишь на страницу и получаешь значение [[NEW_VARIABLE]], чтобы сработал await должна сработать функция app.get('/',, которая ждёт после адресса слеш:http://127.0.0.1:3000/ -
Интересная особенность сервера в том, что после запуска в BAS он работает автономно. То есть скрипт в BAS выполняет следующие любые действия, а сервер при этом работает независимо от скрипта.
Вот тестовый скрипт с простым счётчиком.

Запустите скрипт в режиме записи, выполните экшен node js и пока не закроете скрипт счётчик будет работать.
-
Кстати можно и без await:
var i = 0; var express = require('express'); var app = express(); app.get('/1', function (req, res) { res.send('<a href="http://127.0.0.1:3000/1">http://127.0.0.1:3000/1</a> ='+ i +'='); ++i; console.log('Next'); }); var server = app.listen(3000, function () { console.log('Example app listening http://127.0.0.1:3000/1'); });Интересно как можно получать данные из сервера node js в BAS на живую...
-
Оказалось что получать данные из сервера node js можно через глобальные переменные node js
:D.

-
@Fox Исправлюсь =) запускаю 2 потока на первом потоке скрипт работает без сервера с переменными во втором потоке запускается node, после запуска сервера первый поток перестает работать когда открываешь адрес http://127.0.0.1:3000 второй поток где есть node перезагружается тогда работает несколько секунд первый поток и обратно зависает
тоесть зависает полностью бас -
-
@Fox А я не запускаю 2 сервера а сервер запускается только во втором потоке а первый поток получает данные через http клиент и записывает в текстовый файл а второй поток где запускается сервер он читает данные из текстового файла и выводит через сервер
-
@Fox второй поток где у меня запускается сервер он делает так читает 3 файла через for и проверяет есть там текст который нужен или нет если есть идет дальше и запускает сервер если нет проверяет постоянно вот во время проверки бас зависает как только я в ручную добавляю в текстовый файл нужный текст сразу бас оживляется и после того как доходит обратно до проверки текста зависает завтра покажу проект
-
@Fox said in Управление BAS из вне:
Вот тестовый скрипт , работающий в два потока. В первом определяется сервер, во втором выводит в лог надпись Test каждые 10 секунд. Всё работает и ни чего не зависает.
если убрать задержку во втором потоке зависает =)
-
@GamiD Это последнее моё off-top сообщение в этой ветке.
Вот скрипт с этим же бесконечным циклом и выводом в лог надписи test.
Откройте в режиме записи скрипт, выложенный выше:

Зависает он из за бесконечного цикла постоянного вывода в лог.
-
А как в ответ на запрос вызвать функцию из баса?
-
@battleground said in Управление BAS из вне:
А как в ответ на запрос вызвать функцию из баса?
Установите ответ в переменную BAS и через условие в BAS выполните действия. Либо в самой ноде установите условия и вызов функции в зависимости от ответа.
-
This post is deleted!
-
А как можно задать таймаут , чтобы ожидание get запроса было больше чем 1 минута?
