cloudwu / skynet

A lightweight online game framework
MIT License
13.27k stars 4.19k forks source link

skynet.redict调用疑问 #402

Closed sctangqiang closed 8 years ago

sctangqiang commented 8 years ago

function MsgProxy.send_redirectmsgto_gateagent(gatesvr_id, agent_address, session, ...) skynet.redirect(agent_address, skynet.self(), "lua", session, ...) end

这个是我回复agent的一个call调用, session是agent call请求的session, 请问下: 我想这样填写参数对吗? 还有我传入的参数 ...是两个table (skynet.ret(skynet.pack(...)) 回应没有问题), 在执行时报invalid param table

sctangqiang commented 8 years ago

正确使用 function MsgProxy.send_redirectmsgto_gateagent(gatesvr_id, agent_address, session, ...) skynet.redirect(agent_address, skynet.self(), "response", session, skynet.pack(...)) end

mrvon commented 8 years ago

..... 好歹写好点格式啊

cloudwu commented 8 years ago

redirect 不调用 pack, ... 那里需要是 raw 字符串或 userdata 加长度:如果是 lua 协议,就是 skynet.pack 的返回值。

cloudwu commented 8 years ago

文档写漏了,已经补上:https://github.com/cloudwu/skynet/wiki/LuaAPI