Anatoliy
видимо это и есть искомая ev под винду для асинхронных вебсокетов
Anatoliy
local ev = require'ev'
local ws_client = require('websocket.client').ev()
ws_client:on_open(function()
print('connected')
end)
ws_client:connect('wss://ws....,'echo')
ws_client:on_message(function(ws, msg)
print('received',msg)
end)
local i = 0
ev.Timer.new(function()
i = i + 1
ws_client:send('hello '..i)
end,1,1):start(ev.Loop.default)
ev.Loop.default:loop()
Anatoliy
И вот она мне сразу и лупит - error loading module 'ev' from file 'C:\distr\ZeroBraneStudio\lualibs/ev.lua':
C:\distr\ZeroBraneStudio\lualibs/ev.lua:54: too many C levels (limit is 200) in function at line 48 near '0'
Anatoliy
Блин конечно проще бы на линукс перейти и проблема бы сразу решилась
Snusmumriken
Ух, а как ты без posix'а запускаешь?
Snusmumriken
Тут же линуксовые библиотеки требуются.
mva
mva
просто запускает даже не пытаясь разобраться как оно работает
Snusmumriken
Не, ну это-то понятно, просто ругнуться должно было при старте, ещё на четвёртой строчке.
mva
ну, он мог либо удалить реквайр позикса, либо подсунуть фальшивый какой-нибудь 😃
Snusmumriken
До них даже дело не дошло, ошибка уже раньше выскакивает
Скрипты выполняются последовательно.
Оно должно было вылезти.
Не может быть такого, что вот тут ошибка вылезет на четвёртой строчке а не на первой.
local a = 'qwerty' + 12345
function foo(a, b)
return a + b
end
foo('ytrewq', 54321)
Anatoliy
local debug = ngx.config.debug - на этой строчке все останавливается
Snusmumriken
Ох.
Anatoliy
Файл protocol.lua
Snusmumriken
Это никому не интересно, и так очевидно почему оно падает, где — уже не важно. И не надо донимать этим англоязычный чат.
Карочи, пиши уже свою либу вебсокетов, ума-разума наберёшься. Серьёзно, пора бы уже.
mva
> библиотечка какая-то ngx
mva
ололо
mva
Anatoliy
Я понимаю что вы тут все проффи собрались, но я еще новичёк😆
mva
mva
ты бы сначала погуглил что такое OpenResty
mva
хинт для ленивых: набор библиотек-надстроек для модуля, который включает поддержку Lua в веб-сервере (на самом деле, не только веб) NginX
Anatoliy
NGINX это я так понимаю имеет отношение к Веб-серверу только вот зачем мне чтото серверное если я клиент, мне нужно к серверу запросы делать и все, больше ничего
Snusmumriken
Разберись уже в http и wss-протоколе и сделай себе библиотеку. А потом протестируй её и выложи в опенсорц. Тут не настолько всё сложно чтобы ты не справился.
Я конечно тоже могу написать, специально под твои нужды, но затребую за это около 20к рублей, потому что мне на текущий момент не нужна такая библиотека.
fgntfg
Написать что-ль смеха ради шедулер на Lua
Maxim
Это такой bundle из nginx и модулей
vitaly
Для хайлоада подходит. Опенрести
Pavel
неожиданно
A
@Snusmumriken сомнительная реклама
Pavel
Он долго тепреллл
vitaly
vitaly
vitaly
Вступай в ряды порнографов - еда становится вкусней, а вода Боржоми.
fgntfg
fgntfg
Ну или кинь какие либы брал
fgntfg
Данке.
Anatoliy
Дашь код потом?
local websocket = require'websocket'
local client = websocket.client.copas({timeout=2})
client:connect(ws_url,[protocol])
local ok,err = client:connect('ws://localhost:12345','echo')
if not ok then
print('could not connect',err)
end
Anatoliy
Дашь код потом?
Только сразу незаработает, придется мозгами пошевелить )))))))
Anatoliy
Данке.
А вот тут под ev клиента - https://github.com/LuaDist-testing/copas-ev
Anatoliy
Дашь код потом?
берешь оттуда библиотечку ev.lua и вот сюда её - local ev = require'ev'
local ws_client = require('websocket.client').ev()
ws_client:on_open(function()
print('connected')
end)
ws_client:connect('ws://echo.websocket.org','echo')
ws_client:on_message(function(ws, msg)
print('received',msg)
end)
local i = 0
ev.Timer.new(function()
i = i + 1
ws_client:send('hello '..i)
end,1,1):start(ev.Loop.default)
ev.Loop.default:loop()
Anatoliy
Дашь код потом?
но только у меня и это тоже сразу не заработало, тоже там какойто трабл, да я и не стал разбираться, и copas клиента хватит, если заставишь ev под винду заработать то поделись )))
fgntfg
Я посмотрю. Клиент у меня есть, а вот сервера нормально я не написал
vitaly
оффтоп
vitaly
админы линкусоиндные есть ?
vitaly
снес на сервере порядком всего - а именно ссшд -
vitaly
загрузил сервер в рескуе моде -
vitaly
на сервере был центос и софтварный рейд 10
vitaly
вопрос как мне добраться до рейда этого десятого теперь?
vitaly
чтобы спасти пару свежих файлов и потом уже - думать дальше
mva
1) центос какашка
mva
2) mdadm
mva
mva
я-то почём знаю, спроси у него
mva
но обычно rescue-mode это livecd от датацентра/хостера
mva
в котором есть всё что надо
vitaly
дело в том что это кусок старого говна - 1у 120 хп пролиант
vitaly
и в нем в ило - тупо не запусакается консоль
vitaly
не в макоси - не в 10 винде
vitaly
это нужно семеру винду искать или хп - чтобы там эта сраная джвм машина стартанула
mva
виртуалки? не, не слышали
vitaly
счас я дойду до точки кипения
vitaly
и наваяю его снова
vitaly
😂
vitaly
и пошлю к чертям лизевеб
vitaly
но это же блин думать нужно снова
vitaly
а я не привык
mva
собственно, вопрос в том, нафейхоа тебе ilo, если ты говоришь что уже загрузил в рескью-мод. Мне подумалось, что речь была про livecd от хостера, на котором таки есть ssh-доступ
vitaly
залез в реску моде в машину
vitaly
там рейд разобран