Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(196评价)
价格: 4019.00元
photonServer的函数问题
sdewqazxcds发起了问答2017-11-13
1
回复
309
浏览

刚上手接触服务器端,头脑转不过来,没搞懂在哪调用哪里

这是photonserver课程的问题,不是泰斗1

OnOperationResponse,OnOperationRequest这些函数需不需要被调用,如果不需要,那么传参从哪里接收?会传到什么地方?

像服务器端的帮助类BaseHandler的OnOperationRequest方法

public override void OnOperationRequest(OperationRequest operationRequest, SendParameters sendParameters, ClientPeer peer)

 

只看到在ClientPeer.cs脚本中调用过,其他Handler类没看到在哪调用了,是在这里统一调用了吗?调用父类,子类能继承?

//处理客户端的请求
        protected override void OnOperationRequest(OperationRequest operationRequest, SendParameters sendParameters)
        {
            BaseHandler handler = DictTool.GetValue<OperationCode, BaseHandler>(MyGameServer.Instance.handlerDict,
                (OperationCode)operationRequest.OperationCode);//发起登录注册请求
            if (handler != null)
            {
                handler.OnOperationRequest(operationRequest, sendParameters, this);
            }
            else
            {
                BaseHandler defaultHandler =
                    DictTool.GetValue<OperationCode, BaseHandler>(MyGameServer.Instance.handlerDict,
                        OperationCode.Default);//非登录注册请求
                defaultHandler.OnOperationRequest(operationRequest,sendParameters,this);
            }
        }

 

所有回复
  • siki 2017-11-14

    OnOperationResponse这些函数不需要我们调用,有photon server自动调用

    我们在这个方法里面接收参数进行处理就行了,参数就传到这个方法里面

    这里handler已经放到字典里面统一管理起来了,只需要通过OperationCode得到对应的Handler,调用对应的Handler来处理就可以了哈

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!