美文网首页
Photon向unity推送Event

Photon向unity推送Event

作者: 沉麟 | 来源:发表于2019-09-27 16:45 被阅读0次

服务器ClientPeer.cs

//当每个客户端发起请求时执行
        protected override void OnOperationRequest(OperationRequest operationRequest, SendParameters sendParameters)
        {
            switch (operationRequest.OperationCode)
            {
                case 1:
                    MyGameServer.log.Info("收到客户端的请求:OpCaode:1");
                    //解析客户端的数据
                    var data = operationRequest.Parameters;
                    object intValue;
                    data.TryGetValue(1, out intValue);
                    object stringValue;
                    data.TryGetValue(2, out stringValue);
                    MyGameServer.log.Info("解析客户端的数据:OpCaode:1" + intValue.ToString() + ":" + stringValue.ToString());

                    //返回响应
                    OperationResponse operation = new OperationResponse(operationRequest.OperationCode);

                    //构造参数
                    var data2 = new Dictionary<byte, object>();
                    //发送带参数
                    data2.Add(1, 100);
                    data2.Add(2, "这是个参数,服务器发送的");

                    operation.SetParameters(data2);
                    //返回的参数为发送的参数
                    SendOperationResponse(operation, sendParameters);



                    ////构造参数
                    var data3 = new Dictionary<byte, object>();
                    //发送带参数
                    data3.Add(1, 100);
                    data3.Add(2, "这是个参数,服务器推送一个Event");
                    //推送一个Event
                    EventData eventData = new EventData(1);
                    eventData.Parameters = data3;
                    SendEvent(eventData, new SendParameters());
                    break;
                default:
                    break;
            }
        }

客户端
PhotonEngine.cs

public void OnEvent(EventData eventData)
    {
        switch (eventData.Code)
        {
            case 1:
                Debug.Log("收到服务器的响应Event推送:OpCaode:1");

                //解析服务器的数据
                var data = eventData.Parameters;
                object intValue, stringValue;
                data.TryGetValue(1, out intValue);                
                data.TryGetValue(2, out stringValue);
                Debug.Log("解析服务器的数据Event推送:OpCaode:1" + intValue.ToString() + ":" + stringValue.ToString());

                break;
            default:
                break;
        }
    }

相关文章

网友评论

      本文标题:Photon向unity推送Event

      本文链接:https://www.haomeiwen.com/subject/ftdauctx.html