2012-01-26 189 views
10

我正在尝试为Lua套接字页面上的套接字服务器示例制作一个简单的lua套接字客户端。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"); 

它只是应该连接到它,发送一些数据,并收到一些回报。

有人可以帮我解决吗?

回答

19

您的服务器很可能每条线路都会收到。如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() 
+1

哇谢谢。那样做了。 :) – user1058431

+0

或者,使用不同的'接收'模式,例如, '本地三字节= tcp:接收(3)'。 – Phrogz