您的位置:首页 > 移动开发 > Unity3D

Unity3D自学笔记——Photon服务器的后台架构实现(五)

2016-10-28 16:06 489 查看
Client



Unity需要引用ALI.ARPG.Operations.dll

PhotonManager

Photon用于和服务端通信的类,需要实现IPhotonPeerListener

public class PhotonManager : MonoBehaviour, IPhotonPeerListener {
private PhotonPeer m_Peer;
private bool m_IsConnected;
// Use this for initialization
void Start () {
m_Peer = new PhotonPeer(this, ConnectionProtocol.Tcp);
m_Peer.Connect("127.0.0.1:4530", "ARPGServer");
}

// Update is called once per frame
void Update () {
if (m_Peer != null)
m_Peer.Service();
}
public void DebugReturn(DebugLevel level, string message)
{

}

public void OnEvent(EventData eventData)
{

}

public void OnOperationResponse(OperationResponse operationResponse)
{
switch ((ReturnCode)operationResponse.ReturnCode)
{
case ReturnCode.Sucess:
Debug.Log("注册成功");
break;
}
}

public void OnStatusChanged(StatusCode statusCode)
{
switch (statusCode)
{
case StatusCode.Connect:
Debug.Log("Connected Server");
m_IsConnected = true;
break;
default:
break;
}
}

void OnGUI()
{
if (m_IsConnected)
{
//具体测试代码,实例化AccountEntity并转为Json,然后构造Request消息体,进行发送
string json = JsonMapper.ToJson(new AccountEntity() { Name = "ali", Password = "ali" });
Dictionary<byte, object> parameter = new Dictionary<byte, object>();
parameter.Add((byte)OperationCode.Register, json);
if (GUILayout.Button("Register"))
{
m_Peer.OpCustom((byte)OperationCode.Register, parameter, true);
}
}
}
}


到此Photon服务器C2S 已经搭建完了。

时序图



再附上客户端提示消息及数据库截图



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: