本文整理汇总了Golang中github.com/davyxu/cellnet.EventQueue.CallData方法的典型用法代码示例。如果您正苦于以下问题:Golang EventQueue.CallData方法的具体用法?Golang EventQueue.CallData怎么用?Golang EventQueue.CallData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/davyxu/cellnet.EventQueue
的用法示例。
在下文中一共展示了EventQueue.CallData方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: RegisterMessage
// 注册连接消息
func RegisterMessage(eq cellnet.EventQueue, msgName string, userHandler func(interface{}, Response)) {
if needRegisterServer {
// 服务端
socket.RegisterSessionMessage(eq, "gamedef.RemoteCallREQ", func(content interface{}, ses cellnet.Session) {
msg := content.(*gamedef.RemoteCallREQ)
eq.CallData(&response{
ses: ses,
req: msg,
})
})
needRegisterServer = false
}
msgMeta := cellnet.MessageMetaByName(msgName)
eq.RegisterCallback(msgMeta.ID, func(data interface{}) {
if ev, ok := data.(*response); ok {
rawMsg, err := cellnet.ParsePacket(&cellnet.Packet{
MsgID: ev.req.MsgID,
Data: ev.req.Data,
}, msgMeta.Type)
if err != nil {
log.Errorln("unmarshaling error:", err)
return
}
userHandler(rawMsg, ev)
}
})
}