数据接收事件

当服务器向客户端发送通讯数据后,数据到达本地时本事件会被触发

完整示例(服务端与客户端的一次完整通讯)

客户端部分代码
saveobject = nil;
-- 注册一个窗口打开事件回调
function Event.ViewInit.Test(view)
        -- 如果是首次加载
        if view.IsInit then
                -- 设置以下控件为顶层
                view.settop();        
                -- 往窗口加入一个image控件
                view.add(new.image("Test_1"))
                return;
        end
        local object = view.find("Test_1")
        object.enable = 1
        object.xpos = 10
        object.ypos = 10
        object.imageID = 100000
        object.event = function(object,event)        
                if event == Cevent.click then
                        Cli.Send("GETR").wait["RET1"] = function (tbl)
                             saveobject.imageID = tonumber(tbl["result"])                        
                        end
                end

        end
        saveobject = object
end
服务端部分代码
function Event.Recv.CS(player,packet)
      if packet == "GETR" then
            local ret_tbl = {
                ["result"] = 120000
            }
            Protocol.PowerSend(player,"RET1",ret_tbl)
      end
end

说明

请注意:Ex可以是任意命名,但不可以重名,建议的命名为 文件名名字
以下命名都为正确的
Event.Recv.Ex
Event.Recv.Dadishu
Ex
Event.Recv.Dadishu_E1

请注意:通过客户端发送的数据Cli.Send(“GETR”)
如GETR 作为服务端接受后,仅仅作为判定之用
一般的,无需从客户端传任何参数供服务器使用,否则可能会有安全性问题

Created with Raphaël 2.2.0数据到达本地时Event.Recv.Ex被执行结束
文档更新时间: 2020-02-27 15:25   作者:admin