- 107
- 49
- Версия MoonLoader
- Другое
всем ку, хочу связать работу раксампа (его луашника) и питончика, через socket. Написал хуйню, которая нихуя не работает, может у кого-то есть примеры как это правильно сделать?
луааа:
socket = require 'socket'
effil = require 'effil'
require('addon')
local encoding = require("encoding")
encoding.default = 'CP1251'
u8 = encoding.UTF8
function threadHandle(runner, client, resolve, reject)
local msg, err = client:receive()
if msg then
print("Соединение установлено в Lua")
print("Получено сообщение от клиента:", msg)
elseif err == 'closed' then
print('Соединение закрыто')
else
print(err)
end
client:close()
end
function socketRunner()
return effil.thread(function(port)
local socket = require 'socket'
local server = assert(socket.bind('127.0.0.1', port))
local client = server:accept()
return client
end)
end
function async_socket_request(port, resolve, reject)
local runner = socketRunner()
newTask(function()
local client
repeat
client = runner(port):get(0)
until client
if client then
threadHandle(runner, client, resolve, reject)
else
print('Не удалось установить соединение в Lua')
end
end)
end
function onLoad()
async_socket_request(8080, function(result)
print("Получен ответ от сервера:", result)
end, function(error)
print("Произошла ошибка:", error)
end)
end
Python:
import socket
HOST = '127.0.0.1' # IP-адрес сервера
PORT = 8080 # Порт, который слушает сервер
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((HOST, PORT))
print("Соединение установлено в Python")
while True:
message = input("Введите сообщение для отправки на сервер: ")
client_socket.sendall(message.encode('utf-8'))
data = client_socket.recv(1024)
print("Получен ответ от сервера:", data.decode('utf-8'))