UnrealEngine-release\Engine\Plugins\Messaging\UdpMessaging\Source\UdpMessaging\Private\Transport\UdpMessageTransport.cpp
180 row
void JoinedToGroup(const FIPv4Endpoint& UnicastEndpoint, const FIPv4Endpoint& MulticastEndpoint, FSocket* MulticastSocket)
{
#if PLATFORM_SUPPORTS_UDP_MULTICAST_GROUP
TSharedRef<FInternetAddr> MulticastAddr = MulticastEndpoint.ToInternetAddr();
if (UnicastEndpoint.Address == FIPv4Address::Any)
{
TArray<TSharedPtr<FInternetAddr>> LocapIps;
ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->GetLocalAdapterAddresses(LocapIps);
for (const TSharedPtr<FInternetAddr>& LocalIp : LocapIps)
{
DoJoinMulticastGroup(MulticastAddr, LocalIp, MulticastSocket);
}
}
else
{
TSharedRef<FInternetAddr> UnicastAddr = UnicastEndpoint.ToInternetAddr();
DoJoinMulticastGroup(MulticastAddr, UnicastAddr , MulticastSocket);
}
#endif
}
} // namespace UE::UdpMessaging::Private
MulticastStocket is nullptr.
