Photon——Feature Overview 功能概述
Feature Overview 功能概述
Photon is a real-time socket server and development framework that is fast, simple to use and flexible. Client SDKs are available for all major platforms:
Photon是一个快速、简单、灵活、实时的Socket服务器和开发框架,客户端SDK可用于以下平台:
The Photon high level architecture looks like this:
Photon的高级架构体系:
Basic Architecture 基本架构
- The Photon Core is written in native C++ for performance reasons
-
- It uses IO Completions Ports (IOCP) for high performance socket handling
- Implements the heavy “lifting” of the protocols (e.g. reliable UDP)
- Support relaible UDP, TCP and Web Sockets
Photon Core是用C++编写的,这是出于性能考虑
它使用的是完成端口IOCP,用于高性能套接字的处理
使用了更好的协议
支持可靠的UDP,TCP和Web Sockets
- The Core hosts a .NET CLR which runs the business logic in C#
-
- Contains the applications running on Photon
- Written in C# (or any other .NET language)
Photon Core 托管着运行业务逻辑的.NET CLR
包括运行在Photon上所有的应用程序
用C#编码
Server Applications (C#) 服务器应用程序
- We provide several applications as starting point provided in source C# code
-
- Lite: Simple and powerful room based game logic
- LiteLobby: Lobby functionality and room logic
- Policy: Policy server for Unity3d, Flash and Silverlight
- LoadBalancing: Load balanced lite scaling across servers (this is powering our Photon Cloud)
我们提供了多种应用作为开始点
Lite:简单又强大的房间游戏逻辑基础
LiteLobby:大厅功能和房间逻辑
Policy:为U3D,Flash,Silverlight提供的策略服务
LoadBalancing:负载均衡的Lite扩展服务器
- The apps are tuned for performance and can be used out of the box or extended
这些应用是性能调优和可扩展的
- Convenient xcopy deploy (automatic or manual restart)
方便部署(自动或手动重启)
Protocols 协议层
- Photon Core supports the follwoing protocols
-
- reliable UDP (based on eNET) and specially tuned for Client-2-Server architectures
- Binary TCP
- Web Sockets
Photon Core支持以下协议
可靠的UDP(基于eNet),专门针对Client-2-Server架构
二进制TCP
Web Sockets
- Transfer protocol is very lean and slim
传输协议很精简
- Photon wraps up the networking layer of each client platform
Photon包含了网络层的每个客户端平台
- Communicate cross-platform and cross-protocol
通信是跨平台和跨协议的
- Put your data in hashtables and send it: forget about de-/serialization
你的数据是放在hashtables中进行发送的,无需序列化和反序列化
Server Dev Framework (C#) 服务器Dev框架
- All apps sit on top of a development framework that solves common tasks for you
置于所有应用程序之下的一个开发框架,为你解决通用的任务
- Simple and flexible mapping of RPC calls to operation instances
简单和灵活的映射调用RPC去操作实例
- Messages passing through fibers solve many threading problems
信息传递是通过线程池来解决多线程的一些问题
- Designed to saturate bandwidth before the CPU becomes the bottleneck
在CPU成为瓶颈之前设计成饱和带宽
Server Development Tools 服务器开发工具
- Fully running in Visual Studio » F5 » Debug right from your code!
完全运行在VS上,F5可以进行调试
- Use all the first class tools from .NET Development
可使用的工具
Microsoft:VS
Redgate:内存分析、性能分析
Jetbrains:ReSharper, dotTrace, dotCover, dotPeek
Data Persistence (DBs) 数据持久层
- Photon does not provide an persistence layer
Photon不提供数据持久层
- .NET/Windows supports all major products
.NET/Windows提供SQL和NoSQL
- Usage of ORM (mapping) layers optional
可使用ORM(对象关系映射)
Vast Support of Client Platforms 支持的客户端平台
- All client platforms interoprate (iOS vs Android vs PC)
支持所有的客户端平台
- Major client platforms supported 主要的客户端平台
- Unity3d: Inlcuding Web/Standalone (Win, MAC, Linux), iOS, Android (see here )
- MAC: iOS (iPad, iPhone), Mac OSX
- Marmalade: iOS, Android, Bada, LG, BlackBerry (see here )
- Flash & Air: Browser, Standalone, iOS, Android
- Windows 8, Windows 7, Vista, XP, Windows Server: Native & .NET
- Windows Phone 7+
- HTML5: Javascript
- Android: Java and native (NDK)
- .NET
- Mono(跨平台的.Net运行环境)
Hosting 托管
- Host Photon with any major provider
-
- PaaS: Platform as a Service
- IaaS: Infrastructure as a Service
主要提供者
平台即服务
基础设施即服务
- Selected providers 可选供应商
微软Azure、Leaseweb、SoftLayer、Rackspace、Amazon EC2
Support 支持
- Responsive support by Exit Games staff
- Customers get email support
- Forum support: http://forum.exitgames.com/