您的位置:首页 > 其它

Photon开发实战(2)——开发框架、第一个Photon程序

2016-03-24 12:05 204 查看

Photon基础开发框架

Photon (v4)的基本框架。开发框架主要Photon和游戏逻辑(C#)两个部分,如下图最新的Photon v4支持的4种底层协议,游戏开发逻辑Photon目前主要划分为Load Balancing 和MMO(大型多人同时在线游戏)。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ExitGames.Client.Photon;

namespace MyPhotonClient
{
class Program
{
static void Main(string[] args)
{
MyPhotonClientPeerListener listener = new MyPhotonClientPeerListener();

PhotonPeer peer = new PhotonPeer(listener, ConnectionProtocol.Udp);

if (peer.Connect("localhost:5055","MyServer"))
{
Console.WriteLine("客户端准备连接请求……");

while (!listener.IsConnect)
{
Console.WriteLine("连接中……");
peer.Service();
System.Threading.Thread.Sleep(500);

}
Console.WriteLine("已连接……");

//peer.Disconnect();

Console.ReadKey();

}
else
{
Console.Write("未找到服务器");
}

}

}
}


Program

1、IPhotonPeerListener接口主要有5个方法

DebugReturn方法:主要提供各类错误与警告【供开发者】查看,在开发状态下协助开发者纠错。比如:讲上面客户端Program.cs里的地址localhost:5055,改成localhost:5050运行的时候还是会不停的请求,但是无法成功连接,程序是不会报错的。这个时候我们在DebugReturn方法里打印一下message帮助查找问题源



OnEvent(EventData eventData):处理Photon Server发送过来给客户端处理的事件。Event用于客户端和服务端沟通,操作(Operation)通常会触发Event,可以通过Event Code直到事件类型。时间的消息内容通常包含着它的Parameters里。这里暂作简单介绍

OnMessage(object messages):消息回调函数

OnOperationResponse(OperationResponse operationResponse):响应Operation的回调函数,比如加入游戏房间操作,服务器会分配给每个客户端一个编号。这个Client的编号就可以通过响应回调函数获取

OnStatusChanged(StatusCode statusCode):连接状态函数,当游戏的异步操作完成活发生错误时候,状态发生改变回调这个函数

2、PhotonPeer类

PhotonPeer主要功能是客户端和Photon Server 通信。可以理解为对等通信点或者勉强理解为信使。PhotonPeer通过listener和通信协议和服务端通信。。每个Application都可以有多个PhotonPeer,但是每一个不同的PhotonPeer都应该有自己listener用来监听事件、操作、回调函数。这里的listener就是继承IPhotonPeerListener接口的类的实例。

peer.Connect调用的时候并不会直接去连接服务器,只有当peer.service()调用的时候才会向服务器发送请求。

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