Browse Source

Tweaked the re-use flags for DatagramSocket

tags/2021-05-28
jules 11 years ago
parent
commit
205498900a
1 changed files with 8 additions and 2 deletions
  1. +8
    -2
      modules/juce_core/network/juce_Socket.cpp

+ 8
- 2
modules/juce_core/network/juce_Socket.cpp View File

@@ -263,6 +263,12 @@ namespace SocketHelpers
return true; return true;
} }
static void makeReusable (int handle) noexcept
{
const int reuse = 1;
setsockopt (handle, SOL_SOCKET, SO_REUSEADDR, (const char*) &reuse, sizeof (reuse));
}
} }
//============================================================================== //==============================================================================
@@ -419,8 +425,7 @@ bool StreamingSocket::createListener (const int newPortNumber, const String& loc
return false; return false;
#if ! JUCE_WINDOWS // on windows, adding this option produces behaviour different to posix #if ! JUCE_WINDOWS // on windows, adding this option produces behaviour different to posix
const int reuse = 1;
setsockopt (handle, SOL_SOCKET, SO_REUSEADDR, (const char*) &reuse, sizeof (reuse));
SocketHelpers::makeReusable (handle);
#endif #endif
if (bind (handle, (struct sockaddr*) &servTmpAddr, sizeof (struct sockaddr_in)) < 0 if (bind (handle, (struct sockaddr*) &servTmpAddr, sizeof (struct sockaddr_in)) < 0
@@ -472,6 +477,7 @@ DatagramSocket::DatagramSocket (const int localPortNumber, const bool canBroadca
SocketHelpers::initSockets(); SocketHelpers::initSockets();
handle = (int) socket (AF_INET, SOCK_DGRAM, 0); handle = (int) socket (AF_INET, SOCK_DGRAM, 0);
SocketHelpers::makeReusable (handle);
bindToPort (localPortNumber); bindToPort (localPortNumber);
} }


Loading…
Cancel
Save