1、使用到的socket插件是:https://github.com/getnamo/socketio-client-ue4
2、可以参考的demo:https://github.com/getnamo/socketio-client-ue4-example
步骤:1、安装上面提到的UE4插件socketio-client-ue4,这个插件在官方商城也有,但是要收费。直接按照github上的方式安装是开源免费的。要注意,安装完插件要重启UE4的项目才能使用。
2、新建一个Actor的蓝图类,因为socket需要附到actor上才能使用。在actor中引入SocketIOClient组件。


3、准备好需要需要使用的socket服务端,上面demo中可以自己本地运行一个node js的socket服务端,也可以用自己服务器的。
4、在actor的event graph中开始写蓝图逻辑。如图,分别在websocket连接建立(on connected)和disconnected时,打印了两个日志。
5、然后我用了一个键盘的C键绑定了事件监听的函数,这个可以根据自己的需要,放到event begin开始的时候触发,其实就是一个触发时机的区别。Bind Event to Function这个函数的作用就是将ws中根据指定的event名称调用指定的函数,如图就是收到chatMessage就调用ReceiveChatMessage函数。

6、自定义一个ReceiveChatMessage函数,来处理收到消息后的逻辑

7、还要一个问题,就是socket是什么时候创建的连接,这个其实在SocketIOClient组件的属性上,有一项是
Editable when Inherited被勾选上了。这个意思是当Actor被实例化的时候就会创建连接。这个也可以不勾选,自己去触发连接创建。

网友回复
如何修改别人发给我的微信笔记内容?
fbx、obj、glb三维格式模型如何在浏览器中通过three相互转换格式?
python如何实现基于http隧道加密的正向代理服务?
有没有有专门针对 UI 界面截图进行智能标记(Set-of-Mark, SoM) 的开源库和工具?
如何用python实现Set-of-Mark (SoM) 技术?
python如何截取windows指定应用的窗口截图,不用管窗口是不是在最前面?
linux能不能给rm删除命令增加回收站功能,可恢复被删文件?
bfwsoa如何在命令行中执行控制器动作器方法?
RAG(检索增强生成)和 KG(知识图谱)有啥不同?
KVM硬件是啥?


