美文网首页
与硬件或本地软件UDP通信(自定义的结构体)

与硬件或本地软件UDP通信(自定义的结构体)

作者: Lif68 | 来源:发表于2019-10-26 11:17 被阅读0次

分类: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);

相关文章

网友评论

      本文标题:与硬件或本地软件UDP通信(自定义的结构体)

      本文链接:https://www.haomeiwen.com/subject/wlnxmctx.html