今天呢想做一个数据通信的功能,但是又懒得写Socket插件了,想着白嫖一个吧,找了一上午没找到关于UE 4.27版本的插件UDP和TCP插件,找到的也就是4.26的插件,编译呢又嫌麻烦,那就接着白嫖呗,反正也就是小功能测试。后来在UE商城里面找到了这个TCP Socket Plugins得插件,我这里就简单的进行数据关联,多线程的绑定呢你们自己看下哈他有Github地址有兴趣的自己搞下。
第一步将这个插件安装到你需要的引擎版本下,然后创建一个工程,蓝图c++的无所谓,我这里是个蓝图的4.27.1的项目,创建完项目,我们需要在插件中对这个插件进行Enable具体操作就是Edit
-> Plugins ->搜索Socket 点击重启就可以了。
第二步我们需要创建一个基于这个插件的蓝图类,鼠标直接右键点Blueprint Class在All Classes下搜索Socket点击TcpSocketConnection,名字的话根据自己的意愿起啊,我这里方便点就直接叫TcpClient
第三步我们开始连接我们的Server这里就不多说了直接看代码
1. 在Event BeginPlay 下连接Connect的这步就是创建连接哈对应的IP地址和端口改下
2. Disconnected Connected Message是从Connect节点引脚直接Add Custom Event
3. Connected是监听你是否连接到服务端了这加了个判断接到了就打印
4. Message是我们最重要的,他是接收服务端给我传递过来的消息,但是目前这个插件好像没有服务端只有客户端,不过不做双向数据通信的话勉强够用了,反正都是白嫖要啥自行车啊。Read String是我们接收到的消息Message就是他的内容Length长度,最后加个Print打印下。
第四步然后把这个蓝图放到我们场景里面,先别着急运行,你现在运行就是接一辈子也收不到数据啊,因为我们的服务还没开呢。我这里是拿野人测试的大名NetAssist不知道的自己下一个,然后开启我们的服务,这个时候再运行我们的UE4场景。看下面的图。
这就完事了啊,如果你这样不好使,可能是端口占用,换个不常用的端口试下。