mirror of
https://github.com/storytold/UE4-OSC.git
synced 2026-10-09 00:09:43 +00:00
add the multicast loopback option (was always disabled)
This commit is contained in:
@@ -105,7 +105,7 @@ public:
|
||||
uint32_t receivePort;
|
||||
if(UOscSettings::Parse(settings->ReceiveFrom, &receiveAddress, &receivePort))
|
||||
{
|
||||
_dispatcher->Listen(receiveAddress, receivePort);
|
||||
_dispatcher->Listen(receiveAddress, receivePort, settings->MulticastLoopback);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
UOscSettings::UOscSettings()
|
||||
: ReceiveFrom("8000"),
|
||||
MulticastLoopback(true),
|
||||
_sendSocket(FUdpSocketBuilder(TEXT("OscSender")).Build())
|
||||
{
|
||||
SendTargets.Add(TEXT("127.0.0.1:8000"));
|
||||
|
||||
@@ -44,6 +44,9 @@ public:
|
||||
UPROPERTY(Config, EditAnywhere, Category=Input)
|
||||
TArray<FString> Inputs;
|
||||
|
||||
UPROPERTY(Config, EditAnywhere, Category=Network)
|
||||
bool MulticastLoopback;
|
||||
|
||||
public:
|
||||
void InitSendTargets();
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ UOscDispatcher * UOscDispatcher::Get()
|
||||
return UOscDispatcher::StaticClass()->GetDefaultObject<UOscDispatcher>();
|
||||
}
|
||||
|
||||
void UOscDispatcher::Listen(FIPv4Address address, uint32_t port)
|
||||
void UOscDispatcher::Listen(FIPv4Address address, uint32_t port, bool multicastLoopback)
|
||||
{
|
||||
if(_listening != std::make_pair(address, port))
|
||||
{
|
||||
@@ -36,6 +36,10 @@ void UOscDispatcher::Listen(FIPv4Address address, uint32_t port)
|
||||
if(address.IsMulticastAddress())
|
||||
{
|
||||
builder.JoinedToGroup(address);
|
||||
if(multicastLoopback)
|
||||
{
|
||||
builder.WithMulticastLoopback();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -16,7 +16,7 @@ class UOscDispatcher : public UObject
|
||||
|
||||
friend class FOscModule;
|
||||
|
||||
void Listen(FIPv4Address address, uint32_t port);
|
||||
void Listen(FIPv4Address address, uint32_t port, bool multicastLoopback);
|
||||
void Stop();
|
||||
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user