[奇葩需求]Unity与UE4通信 - 04

接下来继续撸代码,接下来是创建UDP服务的方法

void AUDPActor::StartUDPReceiver(const FString & SocketName, const FString & TheIP, const int32 ThePort, bool & isSuccess)
{
    //查un关键一个非空的共享指针,类型为FInternetAddr,用于存储IP地址和端口号
    TSharedRef<FInternetAddr>TargetAddr = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateInternetAddr();

    //用于存储转换后的IP地址
    FIPv4Address IPv4Addr;
    //将输入的 FString 类型的IP地址转换为 FIPv4Address
    FIPv4Address::Parse(TheIP, IPv4Addr);

    //接收从任何来源发来的信息
    FIPv4Endpoint EndPoint(FIPv4Address::Any, ThePort);

    //Socket相关设置
    ActorSocket = FUdpSocketBuilder(*SocketName)
        .AsNonBlocking()
        .WithBroadcast()
        .AsReusable()
        .BoundToEndpoint(EndPoint)
        .WithReceiveBufferSize(2 * 1024 * 1024);

    //设置 接收/发送 的数据大小
    int32 BufferSize = 2 * 1024 * 1024;
    ActorSocket->SetSendBufferSize(BufferSize, BufferSize);
    ActorSocket->SetReceiveBufferSize(BufferSize, BufferSize);

    //检查是否成功创建Socket
    if (ActorSocket == nullptr)
    {
        isSuccess = false;
    }
    else
    {
        isSuccess = true;
    }
}

接下来是接收数据消息的代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值