UE4 TCP通信 (UE客户端与网络调试助手服务端、python服务端通信)

目录

一、使用UE4建立TCP客户端

二、使用网络调试助手建立服务端

三、基于网络调试助手的服务端与UE客户端通信

四、基于python的TCP服务端与UE客户端通信 


一、使用UE4建立TCP客户端

1.在虚幻商城中搜索socket来下载TCP Socket Plugin插件 

 2.安装到引擎,目前支持的版本是4.22-4.27和5.0

 点击安装

大约30M 

 3.随便打开一个工程,找到编辑-》插件

 4.点击已启用,然后重启虚幻编辑器

5.新建蓝图,选择继承自TCPSocketConnection类

我命名该蓝图为TCPTest_BP

 6.双击打开TCPTest_BP

在事件图表中建立如下节点。当事件开始运行时与TCP服务端建立连接,这里自己设置服务端ip和port

 7.添加三个自定义事件

8.分别命名为断开连接、建立连接和接收信息

 

 9.建立连接时打印“建立连接”,断开连接时打印“断开连接”,接收到信息时,将其转为string类型然后打印

二、使用网络调试助手建立服务端

网络调试助手下载地址:

NetAssist.exe

 下载后打开,协议类型选择TCP Server,ip使用本机地址,端口号与客户端一致,然后点击打开

三、基于网络调试助手的服务端与UE客户端通信

1.首先运行服务端

 2.将TCPTest_BP拖入视口中

 3.播放游戏,可以看到右上角打印了建立连接,说明UE与网络调试助手建立了TCP通信

 4.使用网络调试助手发送信息,可以看到UE4接收到了发送的信息

 5.点击关闭

 可以看到UE打印了断开连接

四、基于python的TCP服务端与UE客户端通信 

 如下代码实现了UE4一旦与python服务端建立连接,服务端就主动发送一条测试信息然后断开通信。

import socket

def main():
    # 创建套接字
    tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    # 绑定端口和ip
    tcp_server_socket.bind(("", 6666))

    # 设置套接字为被动监听模式,不能主动发送数据,128为允许接收的最大连接数
    tcp_server_socket.listen(128)

    # 接收客户端连接
    new_client_socket, client_ip_port = tcp_server_socket.accept()

    new_client_socket.send("test".encode())

    tcp_server_socket.close()

if __name__ == '__main__':
    main()

 效果:可以看到当运行游戏后,接收到了服务端发送的信息

猜你喜欢

转载自blog.csdn.net/ChaoChao66666/article/details/127948807