Photon Socket 术语表
Photon概述
Class LitePeer
- 创建一个LitePeer类的实例对象,并准备在下面步骤中调用该对象的方法
- 调用Connect()方法来尝试连接服务器,并通过实现IPhotonPeerListener.PeerStatusCallback来得到连接状态的通知,成功的状态是StatusCode.Connect。
- 周期性的调用Service()方法来获取事件,同时发送"命令"(比如每秒十次)
- 调用OpJoin()来加入游戏,通过实现OperationResult()来得到连接状态的通知,成功的状态是LiteOpCode.Join
- 调用OpRaiseEvent()向服务器发送数据
- 通过实现IPhotonPeerListener.EventAction()来获取服务器的数据更新
- 调用LitePeer.OpLeave()离开游戏,若OperationResult()返回LiteOpCode.Leave则表示服务器端已经确认成功离开。
- 调用Disconnect()以断开连接,通过PeerStatusCallback()得到连接状态的通知,StatusCode.Disconnect为成功断开连接。
- 异步操作:比如Connect(),OpJoin(),OpRaiseEvent(),OpLeave()
- 异步回调:比如OperationResult(),用来返回异步主动操作的结果。值得注意的是,这种返回一般和异步操作是以一问一答的形式出现的。
- 事件:不确定合适会被触发,比如PeerStatusCallback()。
通讯层(Level)
- 通讯层:Service, Connect, Disconnect 还有 StatusCallback这些都是直接对应 连接状态的。它们和UDP/TCP协议都一一对应。
- 逻辑层:内置的"操作","状态"和"事件"都算作是逻辑层的一部分,我们可以通过方法的名称把它们分辨出来,比如OpJoin,OperationResult,PeerStatusCallback。
- 应用层:我们自己游戏中的业务逻辑一般被列在这个层中。比如我们可以通过实现OpCustom(),来发送自定义的"操作"。
Interface IPhotonPeerListener
- PeerStatusCallback:用来得到通讯层的连接状态变化的通知,比如connect, disconnect, errors, compare,这些状态都被定义在StatusCode这个枚举里。
- OperationResult:用来得到逻辑层操作的回调,比如(join, leave)
- EventAction:用来得到应用层的事件回调
- DebugReturn:只在调试中使用
- TimePingInterval:设置客户端对服务器的Ping间隔
- RoundTripTime:用来指定"可靠信道"的往返间隔。可以简单理解为,在"可靠信道"里发送数据包的时候,依靠RoundTripTime和RoundTripTimeVariance来判断单位时间内响应是否超时。
- RoundTripTimeVariance:RoundTripTime允许的方差。
- ServerTimeInMilliSeconds:服务器端的计时器,以微秒为单位。
操作(Operation)
自定义操作(Custom Operation)
事件(Event)
段(Fragmentation)
非可信数据(Unreliable data)
信道(Channels)
TCP
可序列化数据类型(Serializable Datatypes)
- String / string
- Boolean / bool
- Byte / byte (unsigned)
- Int16 / short (signed)
- Int32 / int (signed)
- Int64 / long
- Single / float
- Double / double
- Array (支持以上类型的强类型数组, 但长度限于 Short.MaxValue,而且二位数组是不被支持的。 )
- Hashtable (需注意的是Hashtable[] 是不被支持的。对一个Hashtable对象,虽然可以同时使用不同类型的数值作为它的键,但从传输性能上考虑,最好不要出现这种情况。因为一旦出现一个Hashtable的键有多个类型的情况,该对象的读取会被拆成多个子命令,每一个键都会需要一个子命令。)
组播属性(broadcasting Property)
- LitePeer.OpSetPropertiesOfActor
- LitePeer.OpSetPropertiesOfGame
- LitePeer.OpJoin(值得一提的是,玩家可以加入一个还没有被创建出来的游戏房价,也就是说,服务器端不会对加入的房间做检查,你需要自己来完成)
- OpGetPropertiesOfActor
- OpGetPropertiesOfGame
需要注意的是,线应用目前不支持删除属性,也不支持用含宽字符的字符串作为组播属性的键值。而属性方法(.net中可以把方法包装成属性)也暂时不被支持。
http://www.cnblogs.com/huazhihao/archive/2011/03/11/photon_vocabulary.html
Photon Socket 术语表相关推荐
- 【不全】网络工程师术语表
术 语 表 访问控制项(Access Control Entry, ACE) 访问控制列表(ACL)中的一条独立的陈述. 访问控制列表 (Access Control List, ACL) Cisco ...
- Unreal引擎术语表
Unreal引擎术语表 转载自UDN: Actor - 一个可以放置在世界中或者在世界中产生的对象.这包括类似于Players(玩家).Weapons(武器). Trash.StaticMeshes ...
- Google发布机器学习术语表 (中英对照)
来源 | TensorFlow Google 工程教育团队已经发布了多语种的 Google 机器学习术语表,该术语表中列出了一般的机器学习术语和 TensorFlow 专用术语的定义.语言版本包括西班 ...
- Hyperledger Fabric(术语表)
术语表 术语很重要,以便所有Hyperledger Fabric用户和开发人员都同意每个特定术语的含义,例如,什么是智能合约.文档将根据需要引用术语表,但如果你愿意,可以随意阅读整个内容:这很有启发性 ...
- 干货丨谷歌最新机器学习术语表
作者:思颖 来源:雷锋网 日前,谷歌发布机器学习术语表,以下术语表中列出了一般的机器学习术语和 TensorFlow 专用术语的定义. A A/B 测试 (A/B testing) 一种统计方 ...
- iOS - OC 术语表
1.术语表 转载于:https://www.cnblogs.com/QianChia/p/5780747.html
- git clone 一部分_Git/GitHub 中文术语表 | Linux 中国
我们根据 GitHub 等文档,收集整理了部分常用的 Git 和 GitHub 中的术语的中文定名及其解释.作者:硬核老王 Git 和 GitHub 已经成为了开发者的基础工具,尤其是参与开源软件开发 ...
- 读债务危机0901:第三部分48个案例研究概要-核心术语表 1、国际收支差额:一个国家/货币区的个人或机构与世界其他地区之间进行的所有交易的余额。 2、国际收支危机:经济危机的一种,表现为一国的国际收
graph TD; A–>读债务危机0901:第三部分48个案例研究概要-核心术语表 1.国际收支差额:一个国家/货币区的个人或机构与世界其他地区之间进行的所有交易的余额. 2.国际收支危机:经 ...
- OpenCASCADE可视化:3D演示之3D术语表
OpenCASCADE可视化:3D演示之3D术语表 组 光源 Primitive 结构- 管理一组组 视图 查看器 视图方向- 视图映射- Z-Buffering 组 一组基元和这些基元的属性.基元和 ...
最新文章
- vmware虚拟机启动centOs黑屏
- UML类图新手入门级介绍
- 修改python编码
- c++ union内存
- 网络安全比赛理论答题(二)
- CentOS7安装MySQL8.0图文教程
- 产品架构开发方法(2011中国软件技术大会)
- 因果关系固定搭配知识库项目CausalCollocation
- 汇量科技收购热云数据,加速SaaS工具生态布局
- GridView中不能用If?
- 企业要做有价值的私域流量三大关键
- Keepalived实战(3)
- 94. Binary Tree Inorder Traversal
- 计算机操作基础知识培训,计算机基础操作技能培训知识要点
- UDP Flood防范
- 输入一个小写字母变成下一个小写字母(z变a)
- 如何使用快应用内置地图查看、导航位置
- 观自在菩萨,行深般若波罗蜜多时,照见五蕴皆空,度一切苦厄。舍利子,色不异空,空不异色,色即是空,空即是色,受想行识,亦复如是。舍利子,是诸法空相,不生不灭,不垢不净,不增不减。是故空中无色,无受想行识
- ESP8266-01s MQTT固件烧录
- html 创建一个正方形,css 如何设置带有正方形项目的列表