Подтвердить что ты не робот

Клиент сокета lua

Я пытаюсь сделать простой клиент сокета lua для примера Socket Server, со страницы Lua Socket.

Серверная часть работает, хотя я пробовал ее с помощью telnet.

Но клиентская часть не работает.

local host, port = "127.0.0.1", 100
local socket = require("socket")
local tcp = assert(socket.tcp())

tcp:connect(host, port);
tcp:send("hello world");

Предполагается только подключиться к нему, отправить некоторые данные и получить их взамен.

Может кто-нибудь помочь мне исправить это?

4b9b3361

Ответ 1

Ваш сервер, скорее всего, получает в строке. Как отмечено в receive документах, это шаблон приема по умолчанию. Попробуйте добавить новую строку в сообщение клиента. Это завершает получение на сервере:

local host, port = "127.0.0.1", 100
local socket = require("socket")
local tcp = assert(socket.tcp())

tcp:connect(host, port);
--note the newline below
tcp:send("hello world\n");

while true do
    local s, status, partial = tcp:receive()
    print(s or partial)
    if status == "closed" then break end
end
tcp:close()