对于一个多人游戏的生命周期如下:
相当简单。假设你使用C#和[url=]Lite Application[/url],让我们看下每一步的过程。 连接到服务器在这一步,你实际上只需做connect的工作。步骤如下:
Peer的实例提供了一些与Photon通讯的方法。它没有独立的线程,通过调用Service()来实现更新,以此来保持连接处于活动状态。 在默认情况下,我们假设Photon都是在运行"Lite" Application。 调用RPC建立连接后,客户端可以随时调用Lite Application中的方法。作为"remote procedure call"的可用方法被称为Operations。 Operation调用都是异步的,不会阻塞你的游戏运行。他们内部是用队列来实现, 你可以通过调用SendOutgoingCommands来发送消息。收到的数据将会有一个短暂的延迟。
在Lite Application例子中,当加入房间后,服务端会发出events通知客户端。您可以使用其他applications和实现自己的operations。 接受数据在前面的步骤,你已经收到了operation的返回结果。为了区别其他传入的消息,称它为events。Lite将会转发你的event给房间中的其他人。
客户端库将在内部队列中接收数据包,通过调用PhotonPeer.Service()来调用EventAction(),从而让你的游戏决定何时使用它们。 断开连接如果客户端需要退出,最好调用disconnect()。如果不调用,timeout将会断开客户端的连接。
|
http://cl314413.blog.163.com/blog/static/1905079762012102094246768/?suggestedreading&wumii