美文网首页
与硬件或本地软件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