c++ - 虚幻引擎 4 上的 Websockets?

标签 c++ websocket static-libraries static-linking unreal-engine4

我开始使用 Unreal Engine 4 .我来自 Libgdx,我熟悉在我的游戏中使用 WebSockets 客户端,并在服务器上使用带有“ws”的 NodeJS。

但是,我找不到关于 Websockets 的信息和虚幻引擎 4。

我知道鉴于它是用 C++ 编程的,您可以将外部静态库添加到虚幻项目。

我可以使用这个 C++ websocket 库吗?

https://github.com/zaphoyd/websocketpp

它会在 Windows、Mac 和控制台上运行吗?

我不是 C++ 和静态库方面的专家。 请帮忙,谢谢!

最佳答案

可以关注this tutorial在 TCP 套接字上。

您需要对代码进行一些更改,因为它不能在 UE 4.10 上运行(该教程最初是 2014 年的)。

在 .h 文件中定义 2 个计时器句柄:

FTimerHandle TimerHandle_Connection;
FTimerHandle TimerHandle_Socket;

在 .cpp 文件中,在 StartTCPReceiver(...) 中将计时器设置为以下行:

GetWorldTimerManager().SetTimer(TimerHandle_Connection, this, &AYourClass::TCPConnectionListener, 0.01, true);

并在 TCPConnectionListener(...) 上将计时器设置为的行更改为:

GetWorldTimerManager().ClearTimer(TimerHandle_Connection);//optional, only if you want to stop listening for new connections
GetWorldTimerManager().SetTimer(TimerHandle_Socket, this, &AYourClass::TCPSocketListener, 0.01, true);

(另一种选择是将这些函数线程化,而不是将它们放在计时器中)

以防万一,如果您是 UE 新手,请不要直接在 IDE 上添加代码。转到内容浏览器 > 添加新 > 新 C++ 类。您可以创建一个继承自 Actor 的新类,当您想要开始监听连接时,您会生成该 Actor。

关于c++ - 虚幻引擎 4 上的 Websockets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35475473/

相关文章:

node.js - Firestore 实时更新 NodeJS 中的连接

linker - 链接具有相互依赖关系的静态 fortran 库

c++ - 如何在 C++ 中通过套接字从客户端向服务器发送结构体列表(序列化问题)?

c++ - 有没有办法在 Windows 上托管 IDE,但在 Linux 上托管源代码和编译 (GCC)?

c++ - bitset 单个位线程对于每个单独的线程是否安全,可以一次写入?

c++ - ZeroMQ PUB/SUB 绑定(bind)订阅者

javascript - Python Flask-socketio 工作,不从 JS 客户端接收数据

ruby-on-rails - 使用 Websockets 部署瘦

visual-studio - 我如何在 Visual Studio 2012 中以两种方式(dll 和 lib)一起构建项目

linux - 如何提取包含重复目标文件的静态库?