1.建立消息传递接口(photon的字典映射),客户端向服务器发送数据
/// <summary>
/// 像服务器传递参数
/// </summary>
/// <param name="MainCode">主操作数</param>
/// <param name="dict">字典参数</param>
public void ClientMessage(byte MainCode,Dictionary<byte, object> dict)
{
peer.OpCustom(MainCode, dict, true);
}
2.服务器接受消息
找到你的客户端,这里负责和Unity客户端进行通信
当服务器接受消息时,会调用这个接口
我们需要取出一些参数
protected override void OnOperationRequest(OperationRequest operationRequest, SendParameters sendParameters)
{
Dictionary<byte, object> dict = operationRequest.Parameters;
foreach (object value in dict.Values)
{
Log.log(value.ToString());
}
}
3.测试
客户端:
服务端:
我对log封装了一下,这个随便你啦
结果
4.服务器向客户端发发送数据包
在你的服务器端的客户端类添加传送函数
/// <summary>
/// 向客户端发送数据
/// </summary>
/// <param name="MainCode"></param>
/// <param name="dic"></param>
public void sendMessageToClient(byte MainCode, Dictionary<byte, object> dic)
{
EventData eventData = new EventData(1, dic);
SendEvent(eventData, new SendParameters());
}
5.在你的客户端接收
public void OnEvent(EventData eventData)
{
Dictionary<byte, object> dict = eventData.Parameters;//获取到服务器端字典添加的chuck参数
foreach (object value in dict.Values)
{
Debug.Log(value.ToString());
}
}
6.测试: