UE Websocket 通信

项目中遇到UE需要对接Websocket协议接收实时数据。 所以需要实现一个Websocket Client的功能。 由于UE引擎已经集成了Websocket库(基于libwebsocket),可以通过集成的WebSocket库来比较难容易实现WebSocket Client 和Server进行通信。

编程实现(C++)

需要使用C++语言进行编程。 下面是相关的API接口:
https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/WebSockets?application_version=5.4

在这里插入图片描述

当然也可以使用原生的libwebsocket库进行开发。

相关代码网络上很多,可以自行搜索。

插件

如果你习惯使用了蓝图,而不习惯使用C++,那么可以通过插件的方式的方式进行通信,插件也基本上是使用C++写的,公开接口到蓝图。 比如下面的免费插件:
在这里插入图片描述

插件版本问题

插件版本升级

不过该插件的版本最高只能支持到5.0,如果需要支持到高版本的插件。
一种方法是使用ue的 RunUAT.bat命令进行升级,可以升级到你需要的响应版本。 比如笔者使用这种方式把插件从5.0 升级到了5.2。

其他插件

另外一种方法是搜索其他的插件,比如:

在这里插入图片描述

插件的使用

在这里插入图片描述

首先create一个WebSocket对象,然后可以监听连接成功,连接失败,接收数据等事件,进行通信。

WSS的问题

在实际使用过程中,如果是wss协议,可能存在连接不上的情况,可以添加配置试试:
BaseEngine.ini 中添加:

[LwsWebSocket]  
bDisableCertValidation=true

在这里插入图片描述

参考文档

https://unrealcommunity.wiki/websocket-client-cpp-5vk7hp9e
https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/WebSockets?application_version=5.4
https://forums.unrealengine.com/t/ue5-websocket-wss-problem/502399
https://forums.unrealengine.com/t/how-to-properly-implement-iwebsocket-and-send-packets-with-high-frequency/1206501

最后,关注公号“ITMan彪叔” 可以添加作者微信进行交流,及时收到更多有价值的文章。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值