分类:UE4 C++
标签:Socket通信 UDP
参考链接:
https://zhuanlan.zhihu.com/p/78039515 EricSong小熊猫的工具整合
https://wiki.unrealengine.com/index.php?title=UDP_Socket_Sender_Receiver_From_One_UE4_Instance_To_Another 工具原作者RAMA
Socket套接字UDP通信的基本内容不细讲了,基本上就是把该启用的头文件比如Networking.h和网络通信模块Sockets加上,把环境搭好
Send:
开始创建发送套接字指针,新建函数用于输入IP和Port初始化,创建buffer用于传送数据,将数据写入Buffer然后用SendTo发送出。
其中核心的功能就是FArrayWriter,通过Writer我们可以实现将要发送的自定义数据序列化成bytes类型传出去
FArrayWriter Writer;
Writer << MyData; //通过Writer序列化我们的自定义数据并发送出去
SenderSocket->SendTo(Writer.GetData(),Writer.Num(),BytesSent,*RemoteAddr);
Recive:
开始创建监听套接字指针,新建函数用于输入IP和Port初始化,创建多线程监听函数接收并指派接收反序列化函数到监听函数。
其中核心的就是多线程监听函数和收到数据后的反序列化函数
UDPReceiver->OnDataReceived().BindUObject(this, &ARamaUDPReceiver::Recv);//多线程监听指派接收反序列化函数
FAnyCustomData Data;
*ArrayReaderPtr << MyData; //同样通过Writer来让UE4的FArchive进行强制内联
//BP Event
BPEvent_DataReceived(Data);
网友评论