服务器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;
}
}
网友评论