这个插件在UE4中实现WebSocket客户端的功能.利用NodeJS实现服务器的功能. 在UE4中的蓝图如下 NodeJs服务器代码如下 var http = require('http'); var express = require('express'); var swig = require('swig'); var ws = require("nodejs-websocket"); { var server = ws.createServer(function (conn)...
UE的Websocket连接状态更新机制存在缺陷,如果客户端连接到服务器之后,某一方的网络出现问题(如断网)时,Websocket的连接状态不能正常更新,IsConnected会仍然返回true,这就会导致无法正确的识别连接状态,导致出现问题.如下图,关闭客户端的网络之后连接状态仍为已连接,但是客户端已经收不到服务器的数据了 想要解决这个问题...
voidAActorWebSocket::OnConnected(){UE_LOG(LogTemp,Warning,TEXT("%s"),*FString(__FUNCTION__));}voidAActorWebSocket::OnConnectionError(constFString&Error){UE_LOG(LogTemp,Warning,TEXT("%s Error:%s"),*FString(__FUNCTION__),*Error);}voidAActorWebSocket::OnClosed(int32StatusCode,constFString...
2、新建一个Actor的蓝图类,因为socket需要附到actor上才能使用。在actor中引入SocketIOClient组件。 image.png image.png 3、准备好需要需要使用的socket服务端,上面demo中可以自己本地运行一个node js的socket服务端,也可以用自己服务器的。 4、在actor的event graph中开始写蓝图逻辑。如图,分别在websocket连接建立(o...
一、自己实现,提供接口给蓝图使用。 二、第三方插件。插件下载地址:https://github.com/feixuwu/UEWebsocket 1.已经安装VS2015或者VS2017,并已经安装其中的C++组件 2.新建一个C++工程,或者在蓝图工程中新建一个C++类(就会自动将蓝图工程转换成C++工程,转换编译需要几分钟,耐心等待即可) ...
查看webSocket服务器,发现收到了消息,到此webSocket服务器测试成功: 新建一个UE4空项目,并且将插件添加: 编译完成后打开项目新建一个Actor并添加到场景中: 添加蓝图代码: 然后运行UE4可以看到连接成功: 也有新的一个消息打印在服务窗口: 修改app.js: 运行UE4程序,可看到接受到心脏包数据: ...
一、自己实现,提供接口给蓝图使用。 二、第三方插件。插件下载地址:https://github.com/feixuwu/UEWebsocket 1.已经安装VS2015或者VS2017,并已经安装其中的C++组件 2.新建一个C++工程,或者在蓝图工程中新建一个C++类(就会自动将蓝图工程转换成C++工程,转换编译需要几分钟,耐心等待即可) ...
There's two level in the demo project, one for test websocket connect and send receive, The other level is test message Object serialize to json string, and from json string to message object. I did not use struct, because change a value of a struct in blueprint is not convenient. ...
当然也可以使用webSocket,或第三方库,都可以,开心就好 _ 本文只是用了 UBlueprintAsyncActionBase,也可以用多线程 本文没有实现上传文件、且省略了post请求的使用 算是稍微重新整理吧 引擎版本:4.26.2 原文地址 准备工作 .Build.cs 添加 HTTP、Json 模块 PrivateDependencyModuleNames.AddRange(new string[] { "...
官方并没有提供蓝图的网络函数,C++里面有。 一、自己实现,提供接口给蓝图使用。 二、第三方插件。插件下载地址:https://github.com/feixuwu/UEWebsocket 1.已经安装VS2015或者VS2017,并已经安装其中的C++组件 2.新建一个C++工程,或者在蓝图工程中新建一个C++类(就会自动将蓝图工程转换成C++工 ...