unity3d Photon常见问题FAQ

Photon引擎是什么?
Photon是集产品、服务于一体的网络引擎,也是最快、最灵活、最容易上手的网络引擎,可在PC、Mac、浏览器、移动终端、控制台等多个平台上建立可扩展的MMOG、FPS及任何多人在线网络游戏和应用。

Photon引擎性能怎么样?理论上一个Photon引擎的服务器能承载多少玩家同时在线?
Photon引擎是一款高效的网络引擎,内核采用c/c++语言编写;网络底层采用了Windows平台上最高效的完成端口(IOCP)异步网络模型;另外,Photon优化了网络层的协议,采用更高效的可靠UDP传输协议,同时精简了传输数据包的尺寸,优化了封包算法。
可以支持上万人,如World Golf Tour公司利用Photon开发的”世界高尔夫巡回赛”这款游戏,目前有2百万活跃用户,可以支持3万以上的玩家同时在线。
下面是一组测试数据:
配置:
- Quad Core XEON
- 4GB RAM
- Windows Server 2008 R2 Web (64bit)
可以处理
- 1,000 CCU(FPS类游戏可处理每秒每个玩家10次的更新)
- 单台服务器可承载5,000 - 10,000 CCU
- 分布式逻辑运算会承载更多

Photon引擎是一定要部署在windows平台上的吗?
Photon应用主要基于.net环境,而不限于具体的操作系统平台,但考虑到目前对于linux下.net虚拟机支持不是太完善,因此建议最好使用windows平台作为生产环境。

Photon引擎是否提供对数据库的支持?
Photon引擎本身是不提供对数据库操作接口的,开发者可以自行选择使用目前的诸如:Oracle、MS Sql Server、MySql、DB2等主流的关系型数据库以及NHibernate的ORM技术甚至NoSQL技术等。

Photon引擎和Unity自带的网络功能比,优点有那些呢?
Photon不能简单的理解为网络库,除了性能强健的服务器端引擎外Photon支持大部分客户端平台,可开发各种平台上的应用,其中就包含了Unity平台。

Photon引擎底层网络用什么模型?
Photon引擎的网络核心主要基于Windows平台下最高效的完成端口(IOCP)异步网络模型。

Photon引擎的服务器能用C++、VB或者其他开发语言吗?
目前Photon提供的API是C#语言,我们建议使用C#作为应用层面的开发语言;如果使用C++、VB的话也可以,但需要自行做很多额外的工作。

Phonton引擎提供基于非托管代码的接口么?
Photon应用主要由Photon内核加载运行,且基于.NET运行环境,因此不提供非托管代码接口。

Photon引擎需要自己写网络同步算法吗?
对于同一个网络连接上Photon是能够保证其顺序,无需同步;但在业务层面的同步还需要开发者自行实现。

Photon引擎详细收费方式?
Photon证书分为个人版与企业版,目前价格如下表所示:
个人版:
无人数限制,价格为4800元
企业版:
500人同时在线 8900元
1000人同时在线 12500元
无人数限制 19600元
备注:个人版、企业版100人同时在线的证书永久免费

Photon个人版证书与企业版证书的区别?
使用个人版证书的开发者会有两方面的限制 :
1、被许可人每月收入低于6万人民币
2、被许可人的产品突出显示Photon的LOGO

扫描二维码关注公众号,回复: 1601206 查看本文章

运行PhotonControl的app 会出现几秒钟内自动停止,这是什么原因?
可能的原因有3种:
1、证书校验没有通过:证书过期或者没有连上浮动证书服务器
2、端口被占用:如酷狗占了848端口或者9090端口被占用;
3、某个应用的程序有问题,也会导致Photon引擎启动不了,一般需要检查应用入口类的构造方法以及setup等方法。

如何在Photon3.0环境下调试?
在Photon3.0下调试比较特殊,需要2.0的CLR环境,一般我们通过预先修改PhotonServer.config的配置项来设置。
下面是操作步骤:
1. 打开对应平台目录下PhotonServer.config文件,找到Runtime小节,在最后增加CLRVersion=”v2.0”一串保存即可.
< RUNTIME
< RUNTIME
< RUNTIME
Assembly=”PhotonHostRuntime, Culture=neutral”
Type=”PhotonHostRuntime.PhotonDomainManager”
UnhandledExceptionPolicy=”Ignore” CLRVersion=”v2.0”>
< /RUNTIME
< /RUNTIME
2. 用run as application方式启动Photon服务。
3. 在要调试的应用源程序中设置断点,在VS环境中点调试按钮选附加到进程菜单项,在进程列表中选中PhotonSocketServer.exe点附加按钮。

为什么使用迅雷等下载工具获取证书不能正常使用?
由于证书生成服务器做了安全校验的缘故,如果使用迅雷等下载工具下载证书文件,则文件内容不正确,从而导致无法正常使用;因此,建议使用另存为方式获取证书文件。

Photon支持哪些客户端平台?
目前Photon主要支持:Unity、iOS、Flash、Windows、.NET、Android、Silverlight等。

Photon和Unity之间有什么联系?Photon包含了Unity还是Unity包含了Photon?
Photon和Unity是两个较为独立的产品,所专注的技术领域不同,Photon主要提供服务器端引擎功能的支持,同时对各个客户端平台(包括iOS、Android、WinForm、Cocos2D、Flash、SilverLight以及Unity等)提供相关支持,具有执行效率高、开发效率高、开发部署简单以及配置灵活等特点;而Unity则是客户端图形引擎领域的产品。目前Photon和Unity是一种战略合作关系,前者专注于网络和服务器功能,后者专注于客户端图形方面。
Photon客户端SDK提供了对Unity平台以及其他平台的支持,而不是Unity的组成部分。同时Photon可以和任意主流客户端平台进行有效结合。

在中国使用Photon引擎是否需要和九城合作?有哪些合作方式?
目前 Photon在中国主要由第九城市独家代理,通过从第九城市购买使用证书可以获取相对优惠的价格便利;同时可以在第九城市提供的各个线上渠道获取很直接的免费的技术支持。
使用Photon引擎是否还可以提供服务器的业务开发支持?
Photon是针对大部分类型的游戏提供的服务器端引擎,封装优化了底层网络封包、传输;提供负载均衡机制;提供了简单易用的使用接口同时提供了诸如房间、大厅以及MMO类型游戏的简单示例demo。同时Photon提供了对各个客户端平台的支持。当然Photon引擎本身专注于底层,而不涉及到上层业务的逻辑,有关游戏逻辑需要开发者根据具体的策划需求自行实现。

Photon目前支持的通信模式是可靠UDP和TCP,对Http的支持如何?有没有采用http的游戏实例?比如web game类的实例?
目前Photon主要支持可靠UDP和TCP通信方式,关于http的支持在下一个版本有支持。

Photon的高版本在功能和使用层面是否能够兼容低版本?
Photon高版本功能以及在使用方面是向低版本兼容的,但是有部分功能需要稍作调整。

Photon的License是否能够在不同的版本之间通用?比如我购买的是3.0版的License,我是否可以使用2.6版的Photon SDK?
Photon证书版本是和对应Photon主版本相对应的:2.0的证书对应所有2.x系列版本的Photon;3.0版本的证书对应所有3.x系列版本的Photon。
原文链接:原博客

猜你喜欢

转载自blog.csdn.net/qq_34937637/article/details/79834177