Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Активация скрипта на втором компе по сети
Sheeck
сообщение 19.7.2023, 20:03
Сообщение #1


**

Neophyte
Сообщений: 36
Регистрация: 5.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.174
Возраст: 29



Подскажите пожалуйста есть ли какой либо способ активировать одном скриптом из уопилота другой скрипт в пилоте но на соседнем компе, компы соединены между собой ланкой.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kyja
сообщение 20.7.2023, 0:13
Сообщение #2


***

Novice
Сообщений: 85
Регистрация: 29.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.164



Цитата(Sheeck @ 19.7.2023, 20:03) *

Подскажите пожалуйста есть ли какой либо способ активировать одном скриптом из уопилота другой скрипт в пилоте но на соседнем компе, компы соединены между собой ланкой.

Как вариант можете сделать так
Скрипт на 1 компе создает фаил на втором компе. Скрипт на 2 компе в бесконечном цикле проверяет фаил если фаил появился выполняется дальще

если же нужно именно активировать сам пилот как таковой а не скрипт то в обычном cmd запущеного например под пользователем система чтобы не мешало окно бесконечно крутите проверку файла и при появление запускаете уже сам пилот с нужным скриптом
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sheeck
сообщение 20.7.2023, 9:06
Сообщение #3


**

Neophyte
Сообщений: 36
Регистрация: 5.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.174
Возраст: 29



Цитата(kyja @ 20.7.2023, 0:13) *

Как вариант можете сделать так
Скрипт на 1 компе создает фаил на втором компе. Скрипт на 2 компе в бесконечном цикле проверяет фаил если фаил появился выполняется дальще

если же нужно именно активировать сам пилот как таковой а не скрипт то в обычном cmd запущеного например под пользователем система чтобы не мешало окно бесконечно крутите проверку файла и при появление запускаете уже сам пилот с нужным скриптом

А можете скинуть примеры, пожалуйста, я просто не особо силен в этом
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kyja
сообщение 20.7.2023, 13:50
Сообщение #4


***

Novice
Сообщений: 85
Регистрация: 29.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.164



Цитата(Sheeck @ 20.7.2023, 9:06) *

А можете скинуть примеры, пожалуйста, я просто не особо силен в этом


скрипт который создает фаил по пути в расшареной папке на втором компе
Код
--lua
log ("clear") log ("mode compact")
--Создаем фаил
write ([[C:\test\123.txt]], os.date("%X") .. "\r\n")

local a = filegetattr ([[C:\test\123.txt]])   -- получить атрибуты файла

--Ждем пока фаил существует
while a == 'A' do
    a = filegetattr ([[C:\test\123.txt]])   -- получить атрибуты файла
end


На втором компе запускает bat фаил который проверят наличие файла каждую секунду
если фаил найдент то запустит пилота со скриптом номер 9 например

в само скрипте делаете что надо и в конце удаляете фаил
filedelete ([[C:\test\123.txt]])

это позволит скрипту с 1 компа выйти из цикла ожидания пока на 2 компе идет выполнение скрипта 9

Код
@echo off
set file_path=C:\test\123.txt

:check_file
if exist "%file_path%" (
    echo Файл %file_path% найден.
    rem запускаем пилот со скриптом номер 9
    "C:\Pilot\uopilot_d.exe" /r9

) else (
    echo Файл %file_path% не найден. Повторная проверка через 1 секунд...
    timeout /t 1 >nul
    goto check_file
)


Запуск бат файла можете сделать от пользователя Система через планировщик заданий (но я не уверен как поведет себя скрипт который тоже стартанет от пользователя система)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 20.7.2023, 19:45
Сообщение #5


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Вообще используя luasocket возможно по сети дать команду второму компу и даже передать произвольный код и выполнить его, в т.ч. исходники и байт код.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sheeck
сообщение 21.7.2023, 4:20
Сообщение #6


**

Neophyte
Сообщений: 36
Регистрация: 5.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.174
Возраст: 29



Цитата(kyja @ 20.7.2023, 13:50) *

А можно чтото по проще пожалуйста я не осилил ((
К примеру
На первом компе выполняется скрипт до определенного момент, потом создается файлик в расшаренной папке на втором компе

Сам пилот запускать ненадо он уже запущен.
На втором компе идет бесконечный мониторинг файла с опросом каждые 100мс скажем
Если файл найден, выполняется код сенд123 к примеру
Затем файл удаляется
5 секунд ожидание и снова включается бесконечные опрос на случай если файл снова будет создан



Цитата(DarkMaster @ 20.7.2023, 19:45) *

Вообще используя luasocket возможно по сети дать команду второму компу и даже передать произвольный код и выполнить его, в т.ч. исходники и байт код.


Простите я слишком далек, я смогу только по готовым примерам попробовать
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sheeck
сообщение 21.7.2023, 4:49
Сообщение #7


**

Neophyte
Сообщений: 36
Регистрация: 5.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.174
Возраст: 29



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

Код

--lua
local a = fileexists ([[C:\1\1.txt]])
if a == "1" then
    alarm ()
else

end


Но вот как точно в луа скрипте на первом компе прописать сетевую папку в которой создается файл?
У меня почему то ругается на синтаксис если указать имя сетевого компе

Код

--lua
write ([[\\pc2\chk\123.txt]], os.date("%X") .. "\r\n")
end
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 21.7.2023, 17:44
Сообщение #8


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Не уверен, что луа сожрет сетевой адрес в пути. Попробуйте создать символическую ссылку на папку с файлом. https://winitpro.ru/index.php/2021/03/03/is...ylok-v-windows/


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sheeck
сообщение 21.7.2023, 17:58
Сообщение #9


**

Neophyte
Сообщений: 36
Регистрация: 5.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.174
Возраст: 29



Цитата(DarkMaster @ 21.7.2023, 17:44) *

Не уверен, что луа сожрет сетевой адрес в пути. Попробуйте создать символическую ссылку на папку с файлом. https://winitpro.ru/index.php/2021/03/03/is...ylok-v-windows/


сожрала, ругалось на команду end в конце ))))
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aqualon
сообщение 14.8.2023, 20:29
Сообщение #10


**

Neophyte
Сообщений: 23
Регистрация: 21.3.2023
Группа: Пользователи
Наличность: 1
Пользователь №: 20.503
Возраст: 22



Цитата(Sheeck @ 19.7.2023, 21:03) *

Подскажите пожалуйста есть ли какой либо способ активировать одном скриптом из уопилота другой скрипт в пилоте но на соседнем компе, компы соединены между собой ланкой.

Можете использовать для этого посредника в виде телеграм-бота.
Примеры есть в теме с луа апи для телеграма https://forum.uokit.com/index.php?showtopic=71089
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Madeus
сообщение 27.8.2023, 12:06
Сообщение #11


****

Apprentice
Сообщений: 283
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 8477
Пользователь №: 19.451
Возраст: 32



Можно делать так:
Скрипт на первом компе отправляет сообщение
Код
--lua
-- Создание UDP сокета
local socket = require('socket')
local udp = socket.udp()
udp:settimeout(0)
udp:setsockname('*', 12345) -- Устанавливаем порт для прослушивания

-- Функция для отправки сообщения по сети
function sendMessage(message, ip, port)
  udp:sendto(message, ip, port)
end

-- Отправка сообщений
sendMessage('Test', '192.168.88.246', 12345) -- Указать IP второго компа

Скрипт на втором компе принимает сообщение
Код
--lua
-- Создание UDP сокета
local socket = require('socket')
local udp = socket.udp()
udp:settimeout(0)
udp:setsockname('*', 12345) -- Устанавливаем порт для прослушивания

-- Функция для получения сообщений из сети
function receiveMessage()
  local data, ip, port = udp:receivefrom()
  if data then
    -- Обработка полученного сообщения
    log('Получено сообщение:', data, 'от', ip, 'порт', port)
    return data
  end
end

while true do
  -- Получение и обработка сообщений
  local message = receiveMessage()
  if message == 'Test' then
    log('Выполняем нужное действие') -- Заменить на ваш код
  end

  wait(300)
end

Для работы с сетью нужен socket есть по ссылке Telegram lua api for pilot
При запуске скриптов разрешить подключение в брандмауэре.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 27.8.2023, 19:59
Сообщение #12


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Вообще работу с сокетом подробно бы осветить на вики. Задача достаточно масштабная, но было бы полезно. Ну и прилепить его туда сразу же.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Madeus
сообщение 27.8.2023, 21:20
Сообщение #13


****

Apprentice
Сообщений: 283
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 8477
Пользователь №: 19.451
Возраст: 32



Подумаю над этим.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 27.4.2024, 13:16
Designed by Nickostyle