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

> Обмен данными
sutra
сообщение 24.3.2021, 16:52
Сообщение #1


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Всем привет! Может всё-таки есть какой-то способ получить данные от работы параллельного скрипта в lua. Ну хотя бы байт, в качестве флага. Раньше использовал клипбоард, но переключаться на язык Пилота не хочется, да и не совсем это хорошо. Работа через файл не устраивает - медленно.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
DarkMaster
сообщение 25.3.2021, 14:07
Сообщение #2


***********

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



Цитата
И если вы зададите ожидание в 1 тысячную, то на выходе получите минимум 1 сотую.

Я знаю эту хрень. Когда-то гуглил - вроде есть обходы. Вроде находил на чем-то связанном с бенчмарками, но это было уж очень давно.

По передачи данных через сокеты прям мгновенную скорость не факт, что получится развить ибо все проходит через буферы и получить лишнюю сотку можно очень легко. Тем не менее могу предложить идею создавать некоторый массив через ffi, адрес этого массива передать в другой скрипт любым самым тормозным способом, но уже зная адрес этого массива мы можем читать данные напрямую все через тот же ffi.cast.

При этом нужно понимать, что писать туда ничего не нужно из нескольких скриптов одновременно, либо создавать синхронизацию потоков.

Сообщение отредактировал DarkMaster - 25.3.2021, 14:08


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

Сообщений в этой теме
sutra   Обмен данными   24.3.2021, 16:52
DarkMaster   luasocket - это модуль для работы с сетью. Соответ...   24.3.2021, 18:42
sutra   Спасибо Дарк. Надо разбираться, слишком много там ...   25.3.2021, 13:21
sutra   Дарк, спасибо огромное, но мне самому с моим уровн...   25.3.2021, 15:56
DarkMaster   Ты не поверишь) Сижу уже неделю тестирую, как и ч...   25.3.2021, 16:14
Juzzver   Ты не поверишь) Сижу уже неделю тестирую, как и ч...   28.3.2021, 20:28
sutra   Что-то у меня не получилось, выдаёт три нуля. Адре...   25.3.2021, 17:03
sutra   cdata<unsigned int [3]>: 0x03be1da8 Это лог...   25.3.2021, 17:15
DarkMaster   Поправил код. Там фишка в том, что при математике ...   25.3.2021, 17:23
sutra   Одно слово - мастер. Удачи! А я все свои карти...   25.3.2021, 18:01
cirus   Так не проще?: local address = 0x00a61f88 local p...   28.3.2021, 19:28
sutra   Спасибо большое. У меня кстати тоже возникала така...   28.3.2021, 19:46
DarkMaster   Это где я весь массив копировал? Та шапка - это п...   28.3.2021, 21:05
cirus   Указатель будет. --lua local ffi = require(...   28.3.2021, 22:01
sutra   --lua local ffi=require "ffi" log "cl...   29.3.2021, 13:20
sutra   Кстати, жаль не записывал все косяки, которые нахо...   29.3.2021, 13:34
cirus   --lua local ffi=require "ffi" log "cle...   29.3.2021, 13:39
sutra   Про write уже жаловались люди. Уверяю, там хватает...   29.3.2021, 13:41
DarkMaster   Прям по следам моих извращений) У меня правда эт...   29.3.2021, 13:57
cirus   Только адрес вернёт в десятичном виде: --lua loca...   29.3.2021, 14:06
sutra   Нет смысла переводить в число. В число перевожу ко...   29.3.2021, 15:09


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

 

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