看了skynet lua部分代码之后,尝试写一个client简单协议交互
1、定协议:
proto.lua:
.package {
type 0 : integer
session 1 : integer
}
.... --增加简单的登录协议
login 5 {
request {
accounts 0 : string
pwd 1 : string
clientip 2 : string
machinesearial 3 : string
nickname 4 : string
type 5 : integer
}
reponse {
userid 0 : integer
errmsg 1 : string
}
}
2、修改client.lua增加如下代码:
send_request("login", { accounts = "guest", pwd = "123456", clientip = "127.0.0.1", machinesearial = "ANCDJ153", nickname = "快手", type = 3})
3、修改anget.lua增加调用SIMPLEDB模块:
function REQUEST:login()
-- body
local r = skynet.call("SIMPLEDB", "lua", "login", self.accounts, self.pwd, self.clientip, self.machinesearial,
self.nickname, self.type);
print('login return', r)
if r then
for k, v in pairs(r) do
print(k, v);
end
end
--return r;
return r;
end
3、simpledb.lua处理angent.lua的调用,代码如下:
function command.LOGIN( ... )
print('LOGIN enter in', ...);
return {userid = 11, errmsg = 'success'};
end