Size: a a a

2019 September 17

IA

Ivan Azoyan in pro.lua
Ну квесты можно делать на луа
источник

P

Pavel in pro.lua
Товарищ майор внимательно читает
источник

LO

Lucky Ook in pro.lua
Блин, и тут курьеры. Снус, наведи уже порядок!
источник

LO

Lucky Ook in pro.lua
источник

P

Pavel in pro.lua
Интересно а оформляли официально?
источник

P

Pavel in pro.lua
Было бы прикольно если бы пенсионные отчисления были бы
источник

S

Snusmumriken in pro.lua
Lucky Ook
Блин, и тут курьеры. Снус, наведи уже порядок!
Курьеры хвастаются своими платиновыми фишечками?
источник

S

Snusmumriken in pro.lua
ᴠɪᴋᴀʀɪ ʜᴏɴᴇsᴛ
Вы можете зашифровать мой файл lua?
Я могу зашифровать твой файл луа так, что никто включая меня его потом не расшифрует. Хочешь?
источник

S

Snusmumriken in pro.lua
ᴠɪᴋᴀʀɪ ʜᴏɴᴇsᴛ
Как вы шифруете шифровать?
Are you from Malaysia?
источник

DF

Dollar Føølish in pro.lua
Snusmumriken
В целом, при бесконечном таймауте и обрыве соединения, оно просто прервёт приём, вернёт nil вместо data и, статус типа 'disconnected' или что-то такое, проверь.
Обрыве? Тисипи может кипалайвы слать до 2-... часов
источник

S

Snusmumriken in pro.lua
Ну тады стандартный минутный таймаут, ничо страшного.
источник

A

Andrey in pro.lua
Snusmumriken
В целом, при бесконечном таймауте и обрыве соединения, оно просто прервёт приём, вернёт nil вместо data и, статус типа 'disconnected' или что-то такое, проверь.
а вот катсти вопрос не могу понять как выставить таймаут на :recieve - в мануалах что то вообще не нахожу описание метода
источник

S

Snusmumriken in pro.lua
sock:settimeout(60)
источник

A

Andrey in pro.lua
а, вот оно что, я думал вторым или третьим агрументом
источник

S

Snusmumriken in pro.lua
Карочи, тут есть два таймаута: первый для самого коннекшна (таймаут на accept), и второй таймаут для каждого соединения по отдельности. Задаются одинаково.

local tcp = socket.bind(bla, bla)
-- таймаут для акцепта
tcp:settimeout(0)

local clients = {}

function update()

 -- добавляем новых клиентов
 local sock = tcp:accept()
 while sock do
   local ip, port = sock:getpeername()
   -- таймаут для receive
   sock:settimeout(0)
   clients[sock] = {ip = ip, port = port}
   sock = tcp:accept()
 end

 for sock, info in pairs(clients) do
   local data, status = sock:receive('*l')
   while data do
     print(data, status, err)
     -- что-то делаем с данными

     data, status, err = sock:receive('*l')
   end

   if status == 'closed' then
     print('Client disconnected', info.ip, info.port)
     sock:close()
     clients[sock] = nil
   end
 end
end

while true do
 update()
 socket.sleep(.1)
end

Собственно, простейший неблокирующий сервер на много клиентов, принимающий данные построчно (разделитель сообщений — [\r\n]).
источник

S

Snusmumriken in pro.lua
А если соединение оборвалось — клиент сам должен попытаться реконнектнуться, если сервер не отвечает. Можешь отдельно пинговать или ещё что-то такое. Посылать строчку 'PING', на которую сервер среагирует 'PONG'-ом, например. Но в целом, при обрыве, tcp норм понимает что произошёл обрыв.
источник

A

Andrey in pro.lua
Snusmumriken
А если соединение оборвалось — клиент сам должен попытаться реконнектнуться, если сервер не отвечает. Можешь отдельно пинговать или ещё что-то такое. Посылать строчку 'PING', на которую сервер среагирует 'PONG'-ом, например. Но в целом, при обрыве, tcp норм понимает что произошёл обрыв.
завтра попробую осмыслить. но я вроде как клиент программлю а само устройство - сервер.
источник

S

Snusmumriken in pro.lua
Оки

local tcp = socket.connect(bla, bla)
tcp:settimeout(60)
tcp:setoption('keepalive', true)

while true do
 local data, status = tcp:receive()

 if data then
   -- что-то делаем с данными
 end

 if status == 'closed' then
   print('Server disconnected', tcp:getperrname())
   tcp:close()
   tcp = socket.connect(bla, bla)
   tcp:settimeout(60)
   tcp:setoption('keepalive', true)
end
 socket.sleep(.1)
end
источник

A

Andrey in pro.lua
вот, вот это очень похоже на то что мне нужно
источник

ᴠɪᴋᴀʀɪ ʜᴏɴᴇsᴛ in pro.lua
Snusmumriken
Я могу зашифровать твой файл луа так, что никто включая меня его потом не расшифрует. Хочешь?
Хорошо, пожалуйста, зашифруйте мой файл
источник