mva
mva
Anonymous
local websocket = require 'websocket'
local client = websocket.client.copas({timeout=2})
connected, err = client:connect('wss://testapp.hhx', 'echo', ssl)
function listen(msg)
while connected do
wait(0)
local message, opcode = client:receive()
if message then
print('msg', message, opcode)
else
print('connection closed')
end
end
end
Вообще правильно всё делаю?
mva
os.time() оперирует временем в UTC
mva
и то, сколько прибавлять для привода к текущему часовому поясу решает на основе is_dst
Anonymous
mva
когда ты запускал инстанс lua - его "дефолт" был в одном положении
mva
во время работы же система оказалась в другом "DST-состоянии"
mva
а вот в lua-инстансе он остался в старом
Snusmumriken
Anonymous
ну по идее всё логично.
Snusmumriken
А я хз. Если успевает проработать — значит надо больше чекнуть мануалы по вебсокету. Возможно оно и без копаса нормально работает.
Vlad 👁🗨
Snusmumriken
В os.time(пикер) я указывал атрибут isdst системы.
Карочи. Просто используй везде результат os.time(). Ему плевать на часовые пояса, на високосные года и переводы времени. Пользователь что-то ввёл — сразу переводи в os.time(). Передавай куда хочешь и используй, просто как os.time(). Когда надо отобразить — переведи в дату, но не более.
Vlad 👁🗨
Snusmumriken
Ну и нормально.
Timur
mva
не, локальным
НЯП, внутри - таки в UTC, потом приводит его к локальному
mva
но могу путать
mva
🤷♂️
Tony
Я уже теперь ни в чём не уверен
Anonymous
Попробовал слать вебсокет месседж на сервер и если успешно, вызывать метод recieve. Но теперь начались проблемы с производительностью. Как лучше реализовать это?
🐅🤦♂️
Alxius
Я сегодня в Гаграх смог старинные часы на вокзале которые 31 год стоят как СССР не стало запустить на целых 5 минут. )) Так рад. И я понял примерно что для них нужно ) проблема только в том что нужно будет импульсный генератор выдающий импульс раз в минуту откуда то достать либо сделать на основе Ардуино мини. А я с арудино даже простенькое что то не делал.
Alxius
Alxius
Может кто посоветует как на Ардуино это накодить? Я дуб дубом в нем. Вообще надо все разжевывать
Tony
Tony
Думаю, их можно найти на Али
Tony
Погодите, это вторичные часы, верно?
Tony
Я читал несколько раз статьи про них на Хабре и Пикабу
Tony
Думаю, тоже сможете там найти
Alxius
Подскажите куда писать в какой группе поподробней помогут. Интернета там нет
Oleg
Oleg
какое напряжение?
Oleg
длительность импульса?
Oleg
точность?
Snusmumriken
Не delay потому что будет накапливающаяся ошибка расхождения во времени, потому что между delay'ями что-то будет происходить, например выполняться код, он занимает время и каждую секунду будет задержка.
Alxius
цель какая?
Запустить часы чтобы они ходили . И при этом постараться уложиться в 500-1000руб. интернета у устройства не будет
Oleg
Alxius
От любых стрелка перемещается
Oleg
поищи реле времени готовое
Oleg
железка дает импульсы заданной длительности
Oleg
питается от 220,24,12
Oleg
короче разные есть
Oleg
но в 1к не уложишься - зато решение будет промышленное
Oleg
или программируемое реле - но это еще дороже
Oleg
зато там больше возможностей и точность на высоте
Oleg
у меня такое реле убегало за год на 2-3 минуты
Alxius
Спасибо
Oleg
Спасибо
Вот подешевле.
https://rele.ru/catalog/rele-vremeni-razlichnogo-naznacheniya/rele-vremeni/rele-vremeni-vl-46m1.html
BC
Привет Всем.
два вопроса.
1. Можно ли как -то в луа скрипт сделать инклуд пхп? (в пхп обычный вывод массива)
2. Помочь Переписать пхп в луа. простой пхп
$cats = array(
"bmw",
"toyota",
"opel",
"vw"
);
shuffle ($cats);
$cats = array_slice($cats, 0, 3);
sort($cats);
foreach ($cats as $value)
{
echo '<li><a style="font-size:18px;" href="/category/'.$value.'/">'.str_replace('-',' ',$value).'</a></li> ';
}
Highly Likely
Leon174
Oleg
Прекрасный вариант. И никаких ардуинок и малинок.
Я спросил коллег железячников - точности ардуинки хватит, но надо аккуратно писать прогу и нужен доп обвес в виде опторазвязанного реле или ключа.
Так что по деньгам одинаково а гемороя с ардуиной будет побольше.
Snusmumriken
Anonymous
🐅🤦♂️
Кажется ресив каждую итерацию, не есть хорошо
Поищи в группе по ключевому слову receive. Год назад или более обсуждались сокеты. Можно попробовать сделать сокет с небольшим таймаутом. И в цикл обработки добавить небольшой sleep для отдыха процессора.
Snusmumriken
Сокет с таймаутом не очень, потому что от количества клиентов начинает расти задержка. А вот небольшой слип в конце цикла обработки — топчик.
Igor
Я тут соорудил многопоточность в игровом движке на лавке. Основной поток - прокачка событий и рендер. Игровой поток - обработка событий и посыл команд рендера в игровой поток. Игрался со слипами и пришел к выводу, что без них можно получить высокое значение фпс, более 3000, но видна загрузка цпу. Со слипами(их два, в основном и игровом потоке) - ограничивается фпс, но загрузка снижается. В целом на многоядерной машине тормозов незаметно вообще, даже если совсем задержку убрать.
Не стоит, кстати, забывать, что если включен параметр vsync, то количество тиков основного потока будет строго ограничено под герцовку монитора. Если дочерний поток будет основному слать инфу слишком быстро, то у основного потока могут возникнуть проблемы с приёмом (если он не осуществляется в обособленном бесконечном цикле, конечно). Так что времечко тиков желательно синхронизировать между потоками.
Tony
Блин, опять какие-то приколы. Как одна и та же функция может не работать 5 перезапусков подряд и заработать на шестой?
Tony
Чтобы потом опять не сработать несколько перезапусков подряд?
Джифорсович
код покажи
Tony
код покажи
Функция библиотечная, код закрытый т_т
Tony
Подозреваю, что там внутри есть RNG
Tony
Причём раньше работала без нареканий
Tony
Реверс-инжиниринг уже какой-то, ей-богу