http://stackoverflow.com/questions/10823915/photon-server-newbie-questions/11653419#11653419

Channel用来支持不同类型的数据请求(eventChannel,positionChannel,itemChannel 各种). 以及发送优先级. Channel id越小发送优先.

opCustom 发送自定义的数据请求.

opRaiseEvent 触发事件.传送到服务器.但不会广播给所有Player

Photon Cloud 是内置了房间模式的服务器代码支持.  opJoin Leave 等等. 客户端Api可以看到已经实现了. (底层当然还是 Channel 和 OperationRequest)

要想自己扩展功能, 需要从 opCustom 入手. LitePeer 这种是内置的实现, 支持房间逻辑的交互. LitePeer.opJoin 等等.

要想完整了解. 最好是从Photon Server 入手结合 DotNet Client SDK 以及其它平台的SDK 连起来看. 就很容易理解了.  Unity 版本的SDK 为了支持Unity 做了过度的封装. 所以一下子看起来还更困惑. 推荐先去看 DotNet Client SDK.  配合 Lite,LitePeer Balance 的Server部分 就能完整的理解了.

最佳实践方法:

1. 搭建PhotonServer 让自带的演示跑起来. 如果是连接则不需要服务器. 只要在配置里设置好 Appid就行.

2. 修改演示范例.加入自己的功能. 比如: 给  Photon Viking Demo  加入私聊. 加入召唤宠物. 循序渐进.

3. 加入MasterClient逻辑, 加入攻击 伤害 血量同步以及Buff(无敌状态). 改造成PK多人游戏.

推荐参考的资源:

PlayerMaker的 Photon Demo : http://www.hutonggames.com/downloads/PlayMakerPhotonSample.unitypackage

Photon viking Demo ,AngryBots Demo  , Bootchamp demo,  island demo  .

Photon Server 和 Cloud 的关系: PhotonServer 是支持扩展服务器逻辑的.适用游戏类型比较广泛. 不仅是多人游戏. mmo 也是可能的. 但就需要自己租服务器来跑Server了.

而Photon Cloud的定位则是轻量的多人游戏, 服务器不带逻辑,客户端作为MasterClient来实现游戏判定. 开发者不用自己搭建服务器. 各有各自的适用范围. Glu的永恒战士就是基于Cloud来实现的.

这个Photon 和 SmartFox 以及 Unitypark 等都是配合Unity的服务器端解决方案. 多少都有学习成本,都是闭源的.

Photon 带一个 mmo demo. Unity3d客户端部分是基于 isLand 改造的.  支持4.x的话还需要改一些代码. js c#都有不兼容问题毕竟那是2.6版本Unity的项目.

我已经把改动过的可以工作的版本放到Github上了.  慢慢我再把上面那个练习完成.

看过自会理解, Photon Server 常见概念分析.的更多相关文章

  1. SQL SERVER常见等待——解决会话等待产生的系统问题

    SQL SERVER——解决会话等待产生的系统问题 转自: https://blog.csdn.net/z_cloud_for_SQL/article/details/55051215 版权声明:SQ ...

  2. 理解SQL Server是如何执行查询的 (2/3)

    查询执行的内存授予(Query Execution Memory Grant) 有些操作符需要较多的内存才能完成操作.例如,SORT.HASH.HAS聚合等.执行计划通过操作符需要处理数据量的预估值( ...

  3. (转)理解SQL SERVER中的分区表

    简介 分区表是在SQL SERVER2005之后的版本引入的特性.这个特性允许把逻辑上的一个表在物理上分为很多部分.而对于SQL SERVER2005之前版本,所谓的分区表仅仅是分布式视图,也就是多个 ...

  4. 理解SQL SERVER中的分区表(转)

    简介 分区表是在SQL SERVER2005之后的版本引入的特性.这个特性允许把逻辑上的一个表在物理上分为很多部分.而对于SQL SERVER2005之前版本,所谓的分区表仅仅是分布式视图,也就是多个 ...

  5. 理解SQL SERVER中的分区表

    转自:http://www.cnblogs.com/sienpower/archive/2011/12/31/2308741.html 简介 分区表是在SQL SERVER2005之后的版本引入的特性 ...

  6. T-SQL 理解SQL SERVER中的分区表(转)

    转载来源一定要明显:  http://www.cnblogs.com/CareySon/archive/2011/12/30/2307766.html 而且这个大神对于数据库方面的文章非常棒 强烈推荐 ...

  7. photon server (1)

    Photon是一套使用广泛的socket server引擎,服务端底层C++编写,客户端C#编写,跨多平台,收费,效率可观的一款引擎.实用上前有九城游戏(原魔兽世界代理),现在笔者发现多款腾讯旗下3D ...

  8. 深入理解SQL Server 2005 中的 COLUMNS_UPDATED函数

    原文:深入理解SQL Server 2005 中的 COLUMNS_UPDATED函数 概述 COLUMNS_UPDATED函数能够出现在INSERT或UPDATE触发器中AS关键字后的任何位置,用来 ...

  9. 图文并茂VLAN详解,让你看一遍就理解VLAN

    一.为什么需要VLAN 1.1.什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”.LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络.V ...

随机推荐

  1. Spring Data Jpa示例(IntelliJ maven项目)

    1. 在IntelliJ中新建maven项目 给出一个建好的示例,(本示例中省略了业务逻辑组件UserService) 2. 在pom.xml中配置依赖 包括: spring-context spri ...

  2. CWinApp类CMultiDocTemplate类CDocument类CView类的关系

    转自:http://blog.csdn.net/bboot/article/details/26884011 不得不转,瞬间搞清了很多问题,短小精悍 1.CWinApp类   它包含并管理着应用程序的 ...

  3. mybatis 复习笔记01

    本文内容转自传智播客笔记 1. 问题总结  1). 数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能. 设想:使用数据库连接池管理数据库连 ...

  4. Linux——网络配置及命令

    traceroute命令(unix)/tracert命令(windows) tracert命令的格式为:tracert [-d] [-h maximum_hops] [-j host-list] [- ...

  5. node操作mongodb

    var mongodb = require('mongodb'); var server = new mongodb.Server('localhost', 27017, {auto_reconnec ...

  6. shell脚本小示例

    求1-100自然数的和: 法一:for循环 #!/bin/bash # declare -i sum=0 for ((i=0;i<=100;i++));do let sum+=$i done e ...

  7. 20145217《网络对抗》web基础

    20145217<网络对抗>web基础 一.问题 1.什么是表单? 表单:可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁. 表单包括两个部分:一部分是HTML源代码用于描 ...

  8. String创建方式的区别

    String str0 = "abc"; String str1 = new String("abc"); 第一句执行后,会在String pool中创建一个& ...

  9. 14.python模块之subprocess

    我们几乎可以在任何操作系统上通过命令行指令与操作系统进行交互,比如Linux平台下的shell.那么我们如何通过Python来完成这些命令行指令的执行呢?另外,我们应该知道的是命令行指令的执行通常有两 ...

  10. oracle 中 dual 详解

    基本上oracle引入dual为的就是符合语法1. 我们先从名称来说,dual不是缩写词,本身就是完整的单词.dual名词意思是对数,做形容词时是指二重的,二元的.2. Oracle中的dual表是一 ...