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. Python 优雅的操作字典

    Python 中的字典是Python中一个键值映射的数据结构,下面介绍一下如何优雅的操作字典. 来源:https://www.linuxzen.com/python-you-ya-de-cao-zuo ...

  2. Word 中设置图、表、公式、代码要与正文之间行间距

    一.概述 在撰写论文等文档时,常常对图.表.公式.代码要与正文之间行间距有要求.例如: (5)图.表.公式.代码要与正文之间有6磅的行间距. 二.设置方式 选中 图/表/公式/代码 与 图题/表头/- ...

  3. PAT 天梯赛 L1-001 【水】

    L1-001. Hello World 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 这道超级简单的题目没有任何输入. 你只需要在一行中输 ...

  4. Educational Codeforces Round 11C. Hard Process two pointer

    地址:http://codeforces.com/contest/660/problem/C 题目: You are given an array a with n elements. Each el ...

  5. DNS域名解析的配置

    /etc/resolv.conf它是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序.该文件是由域名解析 器(resolver,一个根据主机名解析IP地址的 ...

  6. 在HI3531上移植和运行QT4.8.6

    在HI3531上移植和运行QT4.8.6 1.            前言: 近段有点时间,想把QT移植到HI3531上,在网上查找了很多资料,但都不是很全面,有些有问题也没有得到很好的体现. 2.  ...

  7. jQuery带动画的弹出对话框

    在线演示 本地下载

  8. CreateWindow创建无边框 可拉伸窗体

    createwindow 定义 HWND WINAPI CreateWindow( _In_opt_ LPCTSTR lpClassName, _In_opt_ LPCTSTR lpWindowNam ...

  9. react-native run-android Starting: Intent Error type 3 Error: Activity class does not exist

    使用”react-native run-android”命令运行android应用时,如果常常出现如下错误: Starting the app (/home/xxx/soft/sdk//platfor ...

  10. Hibernate -- 配置c3p0连接池, 事务隔离级别, 管理session

    知识点1:配置c3p0连接池(了解) * 引入c3p0-0.9.1.jar * 在hibernate.cfg.xml文件中增加如下配置 <!-- C3P0连接池设定--> <!-- ...