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: Visual Studio
- Redgate: Memory Profiler, Performance Profiler, Reflector (see here )
- Jetbrains: ReSharper, dotTrace, dotCover, dotPeek (see here )
可以使用的工具
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
主要提供者
平臺即服務
基礎設施即服務
微軟Azure、Leaseweb、SoftLayer、Rackspace、Amazon EC2
Support 支持