UE5 使用Postman测试WebsocketServer

因为最近工作需要,所以需要一个websocket服务,用来直接和多个网页交互

类似遥控器的远程控制吧

但是看了一下商城...额太贵了

github上面也没有合适的,多数都是client端

so我自己写一个吧

github地址:GitHub - ljason1993/WebSocketServer-unreal: c++的websocket服务器,h5秒连,结构简单操作简单

我在这里重新更新了一个5.1的版本,地址是GitHub - h616311501/WebSocketServer-unreal: c++的websocket服务器,h5秒连,结构简单操作简单,更新到5.1,注释了部分Log

这个代码是我从官方的 Experimental WebSocket Networking Plugin 里面扣出来的

所以也需要引入该插件,当然插件里面已经写好了,装插件也会自动开启,放心啦

目前支持功能

1.开启server服务

2.支持多个socket客户端连接

3.

在Unreal Engine (UE) 5中搭建WebSocket连接通常涉及到使用第三方插件或者自定义网络代码。UE5本身并不直接支持WebSocket,因为其内置的是基于UDP和TCP的传统网络系统。以下是使用插件和自定义方案的一般步骤: 1. **使用插件**: - Unreal OnlineSubsystem:这是一个官方推荐的在线服务框架,其中包含了对WebSocket的支持。通过它,你可以创建一个WebSocket服务器,或者集成到现有的游戏会话中。首先,需要下载并启用OnlineSubsystem模块,然后按照文档配置WebSocket服务器地址和端口。 2. **自定义代码**: - 如果不想依赖插件,可以考虑使用像`THttpModule`这样的基础HTTP模块,结合第三方库(如WebSocket++或Ratchet)来实现WebSocket通信。你需要编写C++代码来处理连接、消息传递等操作,并在蓝图或代码中设置适当的回调。 3. **建立连接**: - 在客户端,你可以使用UE5的 Networking API(比如FNetworkManager或FNanoHTTPClient)来发起WebSocket连接请求。创建一个HTTP请求,指定WebSocket URL,然后监听ConnectSuccess或ConnectFailed事件。 4. **数据传输**: - 连接成功后,就可以发送和接收JSON格式的数据了。将数据序列化为字符串,添加到WebSocket帧中发送,同时解析接收到的帧解包数据。 ```cpp // 示例代码片段 TSharedRef<IHttpRequest> HttpRequest = FHttpModule::Get().CreateRequest(); HttpRequest->SetURL("ws://yourserver.com/endpoint"); HttpRequest->OnProcessComplete().BindLambda([this](FHttpRequest* Request, FHttpResponsePtr Response) { if (Response->HasSucceeded()) { UE_LOG(LogTemp, Warning, TEXT("WebSocket connected!")); // 这里可以继续设置WebSocket的发送和接收逻辑 } else { UE_LOG(LogTemp, Error, TEXT("WebSocket connection failed: %s"), *Request->GetContentAsString()); } }); HttpRequest->SetVerb(TEXT("GET")); // 或者改为 "CONNECT" for WebSocket HttpRequest->AddHeader(TEXT("Upgrade"), TEXT("websocket")); HttpRequest->AddHeader(TEXT("Connection"), TEXT("Upgrade")); HttpRequest->AddHeader(TEXT("Sec-WebSocket-Key"), TEXT("your-key-string")); // 需要根据协议生成 HttpRequest->Send(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值