UE5 Http Server

前言

最近要用UE 作为一个服务器去接收来自外部的请求,从而在UE中处理一些内容,但是之前只做过请求,哪整过这玩意,短期内还得出结果,那怎么搞嘞,本着省事的原则就找找呗,有没有现成的,发现还真有,有的收费有的不收费,那肯定不能找收费的啊,然后就找了一个功能也整完了,发现只能127.0.0.1才能获取到,于是又搞了一下终于是把整个过程都跑下来,接下来,把它分享给你们,希望能帮助到你们。

过程

  1. 我这里的UE版本是UE 5.3如果你们是其他版本自己看着代码整一下吧,我这里在github上看的一个老哥,基本上只保留了实际要用的功能很简洁,能满足基础使用需求了。

UE5.3 Http Server插件地址https://github.com/Kaboms/UE-Simple-Http-Server 2. 不会用的UE插件的,下载以后,放置到工程中的Plugins文件夹中,直接运行,想编译的在UE5C++工程中点击Generate VisualStudio进行编译使用,打开工程后有一个示例关卡和蓝图,关卡蓝图里面是启动的Server和绑定委托做的处理事件。

  1. 在你运行以后根据它关卡提示,能通过网址做一个简单的交互,UE交互逻辑在关卡蓝图中处理的,实际的服务在BP_HttpServerShowcase蓝图中实现的,它继承与SimpleHttpServer,新建的话直接创建即可,EventBindRoutes为主触发事件,BindRoute是单块的HttpServer,如果你需要新建一个那就新建一个BindRoute。

  2. HttpPath为我们实际的虚拟服务地址,Verbs是客户端访问API的方式,从OnHttpServerSequest拖拽一个节点,搜索CreateEvent,这是处理Server接收到请求以后得处理过程,然后下拉选择Create a matching function创建一个新的函数来处理接收过程。

  1. 在这个事件中Input是在C++中做的绑定处理,我们直接展开这个变量,Body和Params是根据不同请求方式做接收的,这个请求体规则你自己定就行。

  2. MakeResponses是你返回的过程包括类型,这块如果用不到网页的话就根据实际的使用需求改一下状态码就行,涉及到网页啥的你就参考下GitHub作者示例请求就行,另外如果你不想在这处理你得主逻辑,那你就创建一个EventDispatchers用来做数据委托,这样主线程启动以后可以通过绑定的方式处理了,右上角是你自己创建需要做代理的数据类型。

  3. 关卡蓝图中做了调用,绑定可以搜到的也是你创建的EventDispatchers做的数据接收和处理,然后直接运行通过网址或者网络调试工具就可以进行测试了。

结尾

功能实现了,发现无法通过局域网的方式进行调用,这是因为UE HttpServer源码的Config文件默认走的是localhost,如果不设置的话它永远的地址都只能是127.0.0.1,这里我们打开工程Saved->Config->WindowsEditor路径下找到Engine.ini或者DefaultEngine.ini文件通过文本打开在最下面添加如下内容,将其设置为0.0.0.0,这样我们整个IPV4的局域网地址就可以被我们的服务器识别推送了。到这里一个基础的链路就处理完了,如果想做Http的接口请求,UE官方的Varest插件也是可以帮到你的。

复制代码
[HTTPServer.Listeners]
DefaultBindAddress=0.0.0.0
相关推荐
AI视觉网奇2 天前
ue metahuman自动绑定实战
笔记·学习·ue5
AI视觉网奇2 天前
ue 安装报错MD-DL ue 安装笔记
笔记·学习·ue5
zhangzhangkeji3 天前
UE5 多线程(6):FQueuedThreadPool 的使用,peek 函数,
ue5
AI视觉网奇3 天前
ue 导出 fbx
笔记·学习·ue5
zhangzhangkeji3 天前
UE5 多线程(5-3):锁的智能指针版本 FScopeLock 与 FScopeUnlock。
ue5
菜鸟z级3 天前
ubuntu18.04+realsense d415+ur5手眼标定,眼在手上
ue5·机器人·相机
AI视觉网奇3 天前
ue5 绑定 鞋子 blender绑定
笔记·学习·ue5
哎呦哥哥和巨炮叔叔4 天前
虚幻引擎 5.5 能否取代 V-Ray?现代建筑可视化渲染技术对比解析
ue5·实时渲染·虚幻引擎5·建筑可视化·渲染101云渲染·v-ray渲染·建筑效果图
zhangzhangkeji4 天前
UE5 多线程(4):资源竞争与原子变量。UE 建议使用 STL版本的原子量,不用自己版本的原子量 TAtomic<T> 的实现了
ue5
AI视觉网奇4 天前
ue slot 插槽用法笔记
笔记·学习·ue5