当前位置: 首页 > news >正文

什么网站做美式软装设计理念饲料公司网站建设方案

什么网站做美式软装设计理念,饲料公司网站建设方案,php网站开发外文翻译,短视频代运营公司参考链接 [UE4 C入门到进阶]12.Websocket网络通信 - 哔哩哔哩 包含怎么用Nodejs 写测试服务器 UE4_使用WebSocket和Json(上) - 知乎 包含Python写测试服务器 UE4_使用WebSocket和Json(下) - 知乎 示例代码 xxx.Build.cs"W…

参考链接

[UE4 C++入门到进阶]12.Websocket网络通信 - 哔哩哔哩 包含怎么用Nodejs 写测试服务器

UE4_使用WebSocket和Json(上) - 知乎 包含Python写测试服务器

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

示例代码

xxx.Build.cs"WebSockets"
.h#include "CoreMinimal.h"
#include "Subsystems/WorldSubsystem.h"
#include "IWebSocket.h"
#include "PTNetworkSubsystem.generated.h"/*** */
UCLASS()
class PIECETOGETHERTOOLS_API UPTNetworkSubsystem : public UWorldSubsystem
{GENERATED_BODY()virtual void Initialize(FSubsystemCollectionBase& Collection) override;virtual void Deinitialize() override;/// <summary>/// 连接成功/// </summary>UFUNCTION()void OnConnectedCallback();/// <summary>/// 连接错误/// </summary>/// <param name="Error"></param>UFUNCTION()void OnConnectionErrorCallback(const FString& Error);/// <summary>/// 接收数据/// </summary>/// <param name="Message"></param>UFUNCTION()void OnReceivedMessageCallback(const FString& Message);/// <summary>/// 关闭回调/// </summary>/// <param name="Code"></param>/// <param name="Reason"></param>/// <param name="bWasClean"></param>UFUNCTION()void OnClosedCallback(int32 Code, const FString& Reason, bool bWasClean);/// <summary>/// 连接服务器/// </summary>/// <param name="URL"></param>UFUNCTION(BlueprintCallable, Category = "Vince|Network")void ConnectToServer(const FString URL);/// <summary>/// 发送信息/// </summary>/// <param name="Message"></param>UFUNCTION(BlueprintCallable, Category = "Vince|Network")void SendMessage(const FString Message);/// <summary>/// 手动关闭/// </summary>UFUNCTION(BlueprintCallable, Category = "Vince|Network")void Disconnect();TSharedPtr<class IWebSocket>Socket;};
.cpp#include "PTNetworkSubsystem.h"
#include "WebSockets/Public/WebSocketsModule.h"
//#include "AsyncHttpObject.h"void UPTNetworkSubsystem::Initialize(FSubsystemCollectionBase& Collection)
{Super::Initialize(Collection);if (!FModuleManager::Get().IsModuleLoaded("WebSockets")){FModuleManager::Get().LoadModule("WebSockets");}}void UPTNetworkSubsystem::Deinitialize()
{Disconnect();Super::Deinitialize();
}void UPTNetworkSubsystem::OnConnectedCallback()
{UE_LOG(LogTemp, Warning, TEXT("连接成功"));
}void UPTNetworkSubsystem::OnConnectionErrorCallback(const FString& Error)
{UE_LOG(LogTemp, Warning, TEXT("连接错误,Error:%s"), *Error);
}void UPTNetworkSubsystem::OnReceivedMessageCallback(const FString& Message)
{UE_LOG(LogTemp, Warning, TEXT("收到消息,Message:%s"), *Message);/*示例{"Topic": "Unreal","List" : {"Key": "mood","Value" : 1.0}}*/TSharedPtr<FJsonObject> RootObj = MakeShareable(new FJsonObject());TSharedRef<TJsonReader<>> JsonReader = TJsonReaderFactory<>::Create(Message);if (FJsonSerializer::Deserialize(JsonReader, RootObj)) // 通过JsonReader读取RootObj{FString Topic = RootObj->GetStringField("Topic"); // TopicUE_LOG(LogTemp, Warning, TEXT("%s Topic:%s"), *FString(__FUNCTION__), *Topic);TSharedPtr<FJsonObject> ListObj = MakeShareable(new FJsonObject());ListObj = RootObj->GetObjectField("List"); // List FString Key = ListObj->GetStringField("Key"); // KeyUE_LOG(LogTemp, Warning, TEXT("%s Key:%s"), *FString(__FUNCTION__), *Key);float Value = ListObj->GetNumberField("Value"); // ValueGEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Cyan, FString::Printf(TEXT("Value %d"), Value), true);}}void UPTNetworkSubsystem::OnClosedCallback(int32 Code, const FString& Reason, bool bWasClean)
{UE_LOG(LogTemp, Warning, TEXT("连接关闭,Code:%d,reason:%s"), Code, *Reason);
}void UPTNetworkSubsystem::ConnectToServer(const FString URL)
{//创建Websocket对象Socket = FWebSocketsModule::Get().CreateWebSocket(URL);// Bind Events// Socket->OnConnectionError().AddLambda([](const FString& Error)->//         void{UE_LOG(LogTemp,Warning,TEXT("%s"),*Error)}); // Lambda绑定方式//绑定连接成功回调Socket->OnConnected().AddUObject(this, &UPTNetworkSubsystem::OnConnectedCallback);//绑定连接失败回调Socket->OnConnectionError().AddUObject(this, &UPTNetworkSubsystem::OnConnectionErrorCallback);//绑定连接关闭回调Socket->OnClosed().AddUObject(this, &UPTNetworkSubsystem::OnClosedCallback);//绑定收到消息回调Socket->OnMessage().AddUObject(this, &UPTNetworkSubsystem::OnReceivedMessageCallback);Socket->Connect();//UAsyncHttpObject::AsyncHttpDownload("https://t7.baidu.com/it/u=2621658848,3952322712&fm=193&f=GIF", FPaths::ProjectContentDir() + "Paks", "4");
}void UPTNetworkSubsystem::SendMessage(const FString Message)
{if (Socket.IsValid()){Socket->Send(Message);}
}void UPTNetworkSubsystem::Disconnect()
{if (Socket.IsValid()){UE_LOG(LogTemp, Warning, TEXT("手动关闭"));Socket->Close(1000, "手动关闭");}
}

Websoket 地址前缀只能是ws/wss/wss+insecure

http://www.yayakq.cn/news/549591/

相关文章:

  • 合肥网站建设制作公司seo推广计划
  • 做免费的小说网站可以赚钱吗网络广告投放流程的第一步要做
  • 网站建设如何选择网站建站的标准
  • 网站建设流程步骤怎么样学校网站模板免费下载
  • 手机网站免费模板中国建设工程项目网
  • 家装网上怎么接单啊网站建设网站优化
  • 建外贸网站推广特色的重庆网站推广
  • 电子商务网站建设可行性分析网站设计所遵循的原则
  • 建设企业网站官网企业山西百度查关键词排名
  • 电子商务与网站建设实践论文国外用wordpress
  • 乐清做网站公司app软件开发平台游戏
  • iis7建设网站鄠邑建站 网站建设
  • 南昌网站建设公司市场wordpress 联盟广告位
  • 做网站的会计分录wordpress自动填写表格
  • 昆明网站设计多少钱wordpress 分隔符 sp
  • 修改网站logowordpress空白页面
  • 崇州 网站建设 有限公司互联网销售可以卖什么产品
  • 建分类信息网站广告软文200字
  • 西安免费做网站机构制作搜索类网站
  • 开网站 主机 服务器网站常用字体大小
  • 网站建设策划书结束语网站美工做图推荐
  • wordpress主页不显示深圳福田网站优化网络营销培训学校
  • 合肥做网站wordpress 文章标题外链
  • 网站繁简通青岛网站建设情况
  • 徐州优化网站做网站需要相机吗
  • 济宁哪里有做网站的黑龙江新闻最新消息今天
  • 网站 硬件方案网站规划与建设模板
  • 一定seo自己网站吗成熟的国产crm系统
  • 网站建设公司怎么做好龙拓网站建设
  • 德国购物网站排名wordpress单栏主题