Lua异步socket实现LuaSocketEvent开源啦

2015-03-07 21:36  3084人阅读  评论 (0)

Lua异步socket实现LuaSocketEvent开源啦!!! https://github.com/dotcoo/LuaSocketEvent

终于可以抛弃WebSocket协议了,轻装上阵,轻松自如.

使用介绍:

服务器端

使用nc模拟

nc -l 8888

客户端

在main.lua第一行引入LuaSocketEvent

require("socketevent")

创建链接

-- 创建一个tcp链接
local sock = socketevent.tcp()

-- 注册事件
sock:on("connect", function(event)
    print("connect")
end)

sock:on("data", function(event)
    print("data: " .. event.data)
end)

-- sock:on("message", function(event)
--     print("data: " .. event.data)
-- end)

sock:on("close", function(event)
    print("close!")
end)

sock:on("error", function(event)
    print("error: " .. event.error .. ", " .. event.message)
end)

-- 链接服务器
sock:connect("127.0.0.1", 8888)

-- 发送数据
print("send: hello server")
sock:send("hello server\n")

-- 防止程序直接退出
-- sock:wait()

data事件是接收到的原始数据.

message事件接收到的是完整消息.

message与data不同的是消息经过粘包处理,格式为4字节的消息头部和消息内容.