首页 > 其他分享 >UE/虚幻 通过在线子系统访问线上服务(OnlineSubsystem/OnlineSubsystemSteam)

UE/虚幻 通过在线子系统访问线上服务(OnlineSubsystem/OnlineSubsystemSteam)

时间:2022-11-20 23:22:22浏览次数:65  
标签:在线 OnlineSubsystemSteam OnlineSubsystem 子系统 UE Steam OnlineSessionInterface

我们通过Steam访问线上服务不知道怎么配置的可以看我的另一篇 UE /虚幻 Steam配置 

配置完成后在角色类的头文件中添加一个变量用于存储获取到的会话接口

public:
    // 指向在线会话接口的指针
    //class IOnlineSessionPtr OnlineSessionInterface; 
    // IOnlineSessionPtr 就是 TSharedPtr<class IOnlineSession, ESPMode::ThreadSafe>
    TSharedPtr<class IOnlineSession, ESPMode::ThreadSafe> OnlineSessionInterface;

然后在角色类的构造函数中获取到在线子系统,并通过在线子系统获取会话接口,然后打印出在线子系统的名称

    // #include "OnlineSubsystem.h"
    IOnlineSubsystem* OnlineSubsystem = IOnlineSubsystem::Get();
    if (OnlineSubsystem)
    {
        // #include "Interfaces/OnlineSessionInterface.h"
        OnlineSessionInterface = OnlineSubsystem->GetSessionInterface();
        if (GEngine) {
            GEngine->AddOnScreenDebugMessage(-1, 15.f, FColor::Red,
                FString::Printf(TEXT("Found Subsystem %s"), *OnlineSubsystem->GetSubsystemName().ToString()));
        }
    }

直接利用UE编译器运行,无论使用那种运行方式,发现打印显示都为NULL

这不是NULL指针,而是虚幻中有一个名为NULL的在线子系统,它是为陆地连接设计的,所以我们可以通过陆地连接测试在线子系统

 我们将项目打包运行,发现这时,打印显示为Steam连接,并且右下角有Steam弹窗,这表示我们已经找到了Stea在线子系统

标签:在线,OnlineSubsystemSteam,OnlineSubsystem,子系统,UE,Steam,OnlineSessionInterface
From: https://www.cnblogs.com/limu-zy/p/16910038.html

相关文章

  • kernel module in UEFI secure boot --- insmod: ERROR: could not insert module lk
    #insmodlkm_hello.koinsmod:ERROR:couldnotinsertmodulelkm_hello.ko:Operationnotpermitted解决办法其实就是因为修改.ko文件是修改的linux内核文件,所以被bi......
  • vue中控制组件过渡动画
     基本用法首先先要给组件添加自定义名字<button@click="show=!show">Toggle</button><Transitionname="自定义名称"> <pv-if="show">hello</p></Transition>......
  • vue-router全局导航守卫
    实现组件跳转时,浏览器标题更新①router的index.js文件中routes配置添加meta属性 ②router.beforeEach方法importVuefrom'vue'importVueRouterfrom'vue-rout......
  • Vue3 reactive 之源码的实现
    Reflect.get()方法与从对象(target[propertyKey])中读取属性类似,但它是通过一个函数执行来操作的。exportconstreactive=<Textendsobject>(target:T)=>{......
  • Vue3组件Props属性名不能与Setup()中变量名不可重复
    npmrunlint,显示错误点:30:9   error Gettingavaluefromthe`props`inrootscopeof`setup()`willcausethevaluetolosereactivity vue/no-setup-pr......
  • UE /虚幻 Steam配置
    第一步:在项目插件中,打开OnlineSubsystemSteam 第二步:打开项目C++文件,在.Build.cs文件下的公共依赖模块名称中添加OnlineSubsystem和OnlineSubsystem  第三步:......
  • Vulnhub之Driftingblues 7靶机解题过程
    Driftingblues7识别目标主机IP地址┌──(kali㉿kali)-[~/Vulnhub/Driftingblue7]└─$sudonetdiscover-ieth1Currentlyscanning:192.168.66.0/16|Screen......
  • Vue
    1、Vue是一套前端框架,免除原生JavaScript的DOM操作,简化书写。2、基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。3、官网:https://cn.vue......
  • Vue笔记 - 样式穿透原理及使用方法
    样式穿透目录样式穿透1.为什么需要样式穿透1.1为什么样式会失效2.如何使用样式穿透2.1实例1.为什么需要样式穿透在开发中引入了第三方组件库(如element-ui),但又想......
  • vue组件中插入二维码的操作
    vue组件中插入二维码的操作 引入在public/index.html的head标签中引入:<scriptsrc="https://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>......