stopped = false -- Остановка файла
socket = require("socket") -- Указатель для работы с sockets
json = require( "json" ) -- Указатель для работы с json
IPAddr = "127.0.0.1" --IP Адрес
IPPort = 3585 --IP Port
client = nil
-- Функция вызывается перед вызовом main
function OnInit(path)
-- create a TCP socket and bind it to the local host, at port IPPort
server = assert(socket.bind("*", IPPort))
message(string.format("Server started. IP: %s; Port: %d\n", IPAddr, IPPort), 1)
end
-- Функция вызывается перед остановкой скрипта
local stopped = false -- для норм остановки скрипта
function OnStop()
stopped = true
return 2000
end
-- Функция вызывается перед закрытием квика
function OnClose()
if client then client:close() end
stopped = true -- закрыли квик, надо остановить исполнение кода
end
-- Основная функция выполнения скрипта
function main()
client = server:accept()--ждем коннекта
sleep(1)
while not stopped do
line, err = client:receive()--принятие данных из питона
if line ~= nil then
local result = assert(load(line.. ""))()--воспроизведение команд из питона
end
--if result ~= nil then message(''..result) end
if result == nil then result = "{}" end
if type(result) == "table" then result = json.encode(result) end
if type(result) == "boolean" then result = (result and 1 or 0) end
if not err then client:send(''..result.."\n") end -- отдача данных из питона (пока не знаю че делать)
end
end
socket = require("socket") -- Указатель для работы с sockets
json = require( "json" ) -- Указатель для работы с json
IPAddr = "127.0.0.1" --IP Адрес
IPPort = 3585 --IP Port
client = nil
-- Функция вызывается перед вызовом main
function OnInit(path)
-- create a TCP socket and bind it to the local host, at port IPPort
server = assert(socket.bind("*", IPPort))
message(string.format("Server started. IP: %s; Port: %d\n", IPAddr, IPPort), 1)
end
-- Функция вызывается перед остановкой скрипта
local stopped = false -- для норм остановки скрипта
function OnStop()
stopped = true
return 2000
end
-- Функция вызывается перед закрытием квика
function OnClose()
if client then client:close() end
stopped = true -- закрыли квик, надо остановить исполнение кода
end
-- Основная функция выполнения скрипта
function main()
client = server:accept()--ждем коннекта
sleep(1)
while not stopped do
line, err = client:receive()--принятие данных из питона
if line ~= nil then
local result = assert(load(line.. ""))()--воспроизведение команд из питона
end
--if result ~= nil then message(''..result) end
if result == nil then result = "{}" end
if type(result) == "table" then result = json.encode(result) end
if type(result) == "boolean" then result = (result and 1 or 0) end
if not err then client:send(''..result.."\n") end -- отдача данных из питона (пока не знаю че делать)
end
end