UE4使用websocket建立通信,获取实时数据

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组件。


image.png
image.png

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函数。


image.png

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


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


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容