查看: 618|回复: 13

[编程指南] 【Online Subsystem 概述 | Unreal Engine】

[复制链接]

1

主题

273

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
73036
发表于 2016-6-27 00:46:28 | 显示全部楼层 |阅读模式


本页面的内容:

      
OnlineSubsystem 模块
基础设计
Delegate 的使用
接口
用户信息
好友
会话
共享云
用户云
排行榜
语音
成就
外部用户界面
     
在线 子系统(Online Subsystem)和它定义的接口提供了一套抽象并干净的通用网络接口,可用于多个在线平台。这里 平台 的意思是指诸如 Steam,Xbox Live,Facebook 等。这个系统的主要目的是为了较好的移植性。
OnlineSubsystem 模块
基础设计
OnlineSubsystem 的基础模块时为了规范平台相关模块的定义,并将平台相关信息注册到引擎中。所有对在线平台服务的访问都应该通过这个模块来执行。在加载时,这个模块会尝试加载默认的在线平台服务模块,这在 engine.ini 文件中定义。

[OnlineSubsystem]DefaultPlatformService=Default Platform Identifier
如果成功加载,能通过一个静态访问调用来获取默认的在线接口函数。

static IOnlineSubsystem* Get(const FName SubsystemName = NAME_None)
可以传递给这个函数一个特定的标识用来按需加载额外的服务。无效的标识或者模块加载失败的时候,将会返回 NULL。

Delegate 的使用
和虚幻引擎 3(UE3)一样,UE4 中的 Online Subsystem 仍将重度使用 delegate 的形式,这也是异步函数调用的副效果。在这个机制下,遵循 delegate 的规则,等待 delegate 的回调让后再进一步调用后续的流程是很重要的。如果不等待异步任务的回调而直接调用后续的函数,会导致无法预期,不被定义的行为。等待 deletage 的回调对于一些连接错误则更为重要,诸如网线插头松脱,或者其他连接失败的情况。不同的异步方法的等待时间差异也很大,有些可能在调用后立刻就能得到回调响应,而有些超时的情况下则可能需要一分钟的时间才会收到相应的回调。

delegate 接口也比较简单明了,每个接口的前面都有一个 delegate 清晰的定义。每个 delegate 都有 Add,Clear 和 Trigger 函数(不过一般并不鼓励手动调用 Trigger )。通常的用法是先使用 Add 增加一个 delegate 后再调用相关的函数逻辑,并在完成后使用 Clear 来对它进行清理。

接口
并不是每个平台都会实现所有的接口功能,游戏代码需要对此有相应的计划。

用户信息
在线服务平台的用户信息功能的接口。用户信息是用来对给定用户和相关的元数据(在线时长,访问权限等)服务的。

好友
在线服务平台的好友功能的接口。好友服务是用来维护用户的好友关系以及好友列表的。

会话
在线服务平台的会话功能的接口。会话功能是用来管理任何和会话相关的信息,以及会话自身的状态。(译者:会话,Session,通常在网游中也被理解为“房间”)

详细信息可以查看 会话和玩家匹配 页面。

共享云
提供在云端共享文件的接口(和其他用户交互请查看 用户云)。

用户云
提供基于每个用户云端文件存储接口。

排行榜
提供在线排行榜的接口

语音
提供在游戏中通过网络语音交流的接口。

成就
提供 读/写/解锁 相关成就的接口。

外部用户界面
如果在线平台的外部界面可用的话,提供方位外部界面的接口。

     
<src="./images/./start_icon.png[/img]


     
Reference

会话和玩家匹配

在线子系统类型
回复

使用道具 举报

0

主题

884

帖子

2969

积分

vip会员

Rank: 1

积分
2969
发表于 2016-7-2 19:29:33 | 显示全部楼层
哈哈  找i了好久
回复 支持 反对

使用道具 举报

0

主题

838

帖子

2754

积分

vip会员

Rank: 1

积分
2754
发表于 2016-7-2 20:38:36 来自手机 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

0

主题

828

帖子

2712

积分

vip会员

Rank: 1

积分
2712
发表于 2016-7-4 03:22:10 来自手机 | 显示全部楼层
好东西,多些楼主分享
回复 支持 反对

使用道具 举报

0

主题

838

帖子

2763

积分

vip会员

Rank: 1

积分
2763
发表于 2016-7-4 13:16:52 | 显示全部楼层
秒了 秒了  秒了  这东西 秒了
回复 支持 反对

使用道具 举报

0

主题

853

帖子

2758

积分

vip会员

Rank: 1

积分
2758
发表于 2016-7-7 17:23:19 来自手机 | 显示全部楼层
O(∩_∩)O哈哈~,谢谢分享哟
回复 支持 反对

使用道具 举报

0

主题

851

帖子

2780

积分

vip会员

Rank: 1

积分
2780
发表于 2016-7-7 21:30:05 来自手机 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

天亦有情 该用户已被删除
发表于 2016-7-12 01:54:21 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

829

帖子

2777

积分

vip会员

Rank: 1

积分
2777
发表于 2016-7-13 05:34:53 | 显示全部楼层
O(∩_∩)O哈哈~,谢谢分享哟
回复 支持 反对

使用道具 举报

0

主题

844

帖子

2763

积分

vip会员

Rank: 1

积分
2763
发表于 2016-7-17 06:33:31 | 显示全部楼层
学习了,感谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | enginedx注册

本版积分规则

 
 



邮件留言:


 
返回顶部