我正在尝试从Lua Socket页面为Socket Server示例创建一个简单的lua套接字客户端。
服务器部分可以工作,我用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");
它只能连接到它,发送一些数据并接收一些作为回报。
有人可以帮我解决吗?
答案 0 :(得分:20)
您的服务器可能每行接收一次。如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()