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: 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
          主要提供者
               平台即服务
               基础设施即服务
  • Selected providers 可选供应商
               微软Azure、Leaseweb、SoftLayer、Rackspace、Amazon EC2

Support 支持

Photon——Feature Overview 功能概述的更多相关文章

  1. MicroRNA in Control of Gene Expression: An Overview of Nuclear Functions 微RNA控制基因表达:核功能概述

    MicroRNA in Control of Gene Expression:An Overview of Nuclear Functions微RNA控制基因表达:核功能概述 抽象:小的非编码RNA( ...

  2. Unity Lighting - Lighting overview 照明概述

    Lighting overview 照明概述     In order to calculate the shading of a 3D object, Unity needs to know the ...

  3. Power BI官方视频(1) Power BI Desktop 7月份更新功能概述

    2016年7月,Power BI Desktop进行了一些功能更新,提高整体的用户体验.同时也有一些新的和令人兴奋的功能.看看大概介绍,更新功能要点: 本文原文地址:Power BI官方视频(1) P ...

  4. osgearth各个例子功能概述

    osgearth各个例子功能概述 转自:http://blog.csdn.net/wl198302/article/details/21177309 最近在学习osgearth,对其还不是很理解,有些 ...

  5. SAP Business One SAP B1功能概述

    SAP Business One SAP B1功能概述 SAP B One配有易于使用的软件界面,是一款全面的,多功能的业务管理解决方案,贵企业可以将其用作主要的企业资源(ERP)应用程序. 该解决方 ...

  6. Android(java)学习笔记102:Map集合功能概述

    下面通过代码引入Map集合:如下 package cn.itcast_01; import java.util.HashMap; import java.util.Map; /* * 作为学生来说,是 ...

  7. Java基础知识强化之集合框架笔记51:Map集合之Map集合的功能概述与测试

    1. Map集合的功能概述 (1)添加功能 V put(K key,V value):添加元素.这个其实还有另一个功能?先不告诉你,等会讲 如果键是第一次存储,就直接存储元素,返回null 如果键不是 ...

  8. Java基础知识强化之集合框架笔记16:List集合的特有功能概述和测试

    1. List集合的特有功能概述: (1)添加功能: void add(int index, Object element):在指定位置添加元素 (2)获取功能: Object get(int ind ...

  9. Java基础知识强化之集合框架笔记03:Collection集合的功能概述

    1. Collection功能概述:Collection是集合的顶层接口,它子体系有重复的,有唯一性,有有序的,无序的. (1)添加功能 boolean add(Object obj):添加一个元素 ...

随机推荐

  1. localAddress

    $(function(){ <% out.println("/** ip:"+request.getLocalAddr()+"("+request.get ...

  2. spring boot2.1读取 apollo 配置中心1

    第一篇:搭建apollo配置中心 为什么选择apollo,我做了一些对比:   Diamond Disconf Apollo Spring Cloud Config 数据持久性 mysql mysql ...

  3. Mysql uploader File

    前几天和哥们做一次渗透测试,内网情况.防护相当严格. 内网不允许访问DMZ,DMZ不允许访问内网,除了服务端口,比如80,3306. 经过长时间的分析,就发现本机连接了内网的一个MYQL,发现WEB开 ...

  4. codeforces242E XOR on Segment

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  5. Microsoft's OWIN implementation, the Katana project

    参考: https://github.com/aspnet/AspNetKatana/ https://github.com/aspnet/AspNetKatana/wiki/Roadmap

  6. Spring ApplicationListener 理解

    在开发时有时候需要在整个应用开始运行时执行一些特定代码,比如初始化环境,准备测试数据.加载一些数据到内存等等. 在spring中可以通过ApplicationListener来实现相关的功能,加载完成 ...

  7. jQuery 中$.ajax()方法参数详解

    $.ajax({ url:'test.do', data:{id:,name:'xiaoming'}, type:'post', dataType:'json', success:function(d ...

  8. Js判断是否联网引入不同js

    需求:当百度地图在内网中也能使用. 分析:js判断是否联网,然后根据联网状态加载不同js. 失败案例: 1.直接document.write <script language="jav ...

  9. 设计模式--原型模式C++实现

    原型模式C++实现 1定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 2类图 3实现 class Prototype { protected: Prototype(); publ ...

  10. 11.深入理解读写锁ReentrantReadWriteLock

    protected final int tryAcquireShared(int unused) { /* * Walkthrough: * 1. If write lock held by anot ...