luasocket 拓展库提供了tcp 模块,该模块提供一些操作,非常简单.但是不知道为什么源代码中的例子有错误.
简单写了一个luasocket tcp 协议的例子,代码如下:
tcpsample.lua 代码:
--绑定地址和端口号
host = host or "127.0.0.1"
port = port or 8080
--创建tcp对象,方式和udp创建类似,通过metatable 设置类方法
tcp =socket.tcp()
--绑定地址和端口号到指定tcp对象上
e=tcp:bind(host, port)
if(e and e==1)then
print("Binding to host '" ..host.. "' and port " ..port.. "...")
else
print("bind err")
end
i, p = tcp:getsockname()
--监听绑定地址和端口号,排队设置为50
e =tcp:listen(50)
if(e and e ==1)then
print("listen to host '" ..host.. "' and port " ..port.. "...")
else
print("listen err")
end
print("Waiting connection from talker on " .. i .. ":" .. p .. "...")
ctcp =nil
--等待一个客户端链接进来
while 1 do
client = tcp:accept()
print(client)
if(client~=