当前位置:   article > 正文

UE5 C++ 手写WebSocket_ue5 websocket

ue5 websocket

参考

UE4_使用WebSocket和Json(上) - 知乎

https://www.youtube.com/watch?v=l9TTmtDBTWY&ab_channel=Flopperam

WebSocket Client - C++ | Unreal Engine Community Wiki

Build.cs内新增"WebSockets","Json"

新建C++ Actor

void实际上是用来继承IwebSocket内的函数,UE5已经写好了,只需要调用即可

使用WebSocket必须在include加上WebSocketModule和IWebSocket,不然THaredPtr这一段会报错

#include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "WebSocketsModule.h" #include "IWebSocket.h"

public: // Sets default values for this actor's properties AMyWebSocketActor(); FString dyRoomURLprefix = ""; UPROPERTY(EditAnywhere) FString dyRoomURL = TEXT("you dy Room URL"); const FString ServerURL = TEXT("ws://101.35.192.107:3000/dy");//目标服务器地址 const FString Serverprotocol = TEXT("wss");//链接协议 TSharedPtr<IWebSocket> Socket = FWebSocketsModule::Get().CreateWebSocket(ServerURL,Serverprotocol);//使用IWebSocket TSharedPtr<FJsonObject> JsonObject = MakeShareable(new FJsonObject); void OnConnected(); void OnConnectionError(const FString& Error); void OnClosed(int32 StatusCode,const FString& Reason,bool bWasClean); void OnMessage(const FString& Message); void OnRawMessage(const void* Data,SIZE_T Size,SIZE_T BytesRemaining); void OnMessageSent(const FString& MessageString); void Connect(); void MySend();

其中这个是用来接受数据流的,但是暂时用不上,只需要保证Websocket基本功能就可以

void OnRawMessage(const void* Data,SIZE_T Size,SIZE_T BytesRemaining);

这是CPP内容

首先是BeginPlay这里把函数继承到我们的Actor自定义void上

然后使用Connect创建链接

回到上面OnConnected这里返回是否链接成功

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/842026
推荐阅读
  

闽ICP备14008679号