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. 将应用注册为Linux的服务

    主流的Linux大多使用init.d或systemd来注册服务.下面以centos6.6演示init.d注册服务:以centos7.1演示systemd注册服务. 1. 基于Linux的init.d部 ...

  2. kylin入门到实战:cube详述

    版权申明:转载请注明出处. 文章来源:http://bigdataer.net/?p=306 排版乱?请移步原文获得更好的阅读体验 1.什么是cube? cube是所有dimession的组合,每一种 ...

  3. 【转】Java运行时数据区简介及堆与栈的区别

    理解JVM运行时的数据区是Java编程中的进阶部分.我们在开发中都遇到过一个很头疼的问题就是OutOfMemoryError(内存溢出错误),但是如果我们了解JVM的内部实现和其运行时的数据区的工作机 ...

  4. Windows中使用wget整站下载

    weget wget安装 Windows下载 点击下载   https://eternallybored.org/misc/wget/ 会跳转到wget的下载页,根据自己电脑选择下载的文件,我下载的版 ...

  5. TestNG,多个场景结合运行Suite.xml

    方法一.首先新增一个.xml文件(经过一段时间的练习,找到其他方法添加XML,如下) 再到文件中添加如下: <suite name = "Selenium school"&g ...

  6. Python 输出百分比的两种方式

    Python 输出百分比的两种方式 注: 在python3环境下测试. 方式1:直接使用参数格式化:{:.2%} {:.2%}: 显示小数点后2位 显示小数点后2位: >>> pri ...

  7. 百度地图API学习总结

    常用技术   1.创建地图: var map = new BMap.Map("divid"); 2.创建坐标点:var point = new BMap.Point("经 ...

  8. C#区块链零基础入门,学习路线图 转

    C#区块链零基础入门,学习路线图 一.1分钟短视频<区块链100问>了解区块链基本概念 http://tech.sina.com.cn/zt_d/blockchain_100/ 二.C#区 ...

  9. 第八天 RHEL7.2 文件权限管理(第一部分)

    一.文件的基本权限 文件有三种访问方式限制访问权限 第一种:文件所有者的访问权限 第二种:文件所有者同组的访问权限 第三种:其他人访问权限 当使用ls -l 或ll命令时,可查看此三种权限 在权限描述 ...

  10. oom_killer

    Limited Memory 今天在虚拟机里面用Word处理文档的时候,突然硬盘灯一阵狂闪,然后虚拟机就一起消失了. 这种事情屡见不鲜,很明显是Linux内核把占用最多内存的程序(这次是Virtual ...