[Live-devel] setupDatagramSocket - SO_REUSEADDR problems

Guido Marelli guido.marelli at intraway.com
Thu Mar 12 05:28:12 PDT 2009


I've been testing this and the problem isn't SO_REUSEPORT (indeed we 
aren't setting this option).
Instead, the problem is the SO_REUSEADDR socket option ...



Guido Marelli wrote:
> Hi,
> I think that SO_REAUSEPORT will continue introducing problems cause we 
> need to force a port when creating a socket for the RTCP channel (RTP 
> port + 1).
>
> I believe that the best approach is to forget about SO_REAUSEPORT so 
> we can be sure that every socket requested to the OS will work just fine.
>
>
> Regards!
>
>
> Ross Finlayson wrote:
>>> It seems that the code on MediaSubsession::initiate will cause the 
>>> effect
>>> I'am reporting when the OS offers the same odd port number for both the
>>> video and the audio stream.
>>
>> Yes, you're right.  This bug got introduced in version 2008.12.20 
>> when I changed the port number selection code in response to another 
>> bug that some people were seeing.  (Before, the code was always 
>> letting the OS choose the port number, and this was sometimes causing 
>> a loop whereby the same (odd) port number would get chosen over and 
>> over again.)
>>
>> From what I can tell, the problem occurs only if we end up making the 
>> code - rather than the OS - choose a port number.  (So, SO_REUSEPORT 
>> is not the problem, because even if this were not set, we'd end up 
>> getting an error when we tried to create the socket with the same 
>> port number the second time.)
>>
>> It seems that I need to change the code again so that it always lets 
>> the OS choose the port number, but be smarter about doing so, so we 
>> don't end up in an infinite loop.  Stay tuned...
>>
>

-- 
Guido Marelli
Intraway Corp.

Oficina AR: +54 (11)  4393-2091
Oficina CO: +57 (1)   750-4929 
Oficina US: +1  (516) 620-3890 
       Fax: +54 (11)  5258-2631
       MSN: guido.marelli at intraway.com

Visite nuestro sitio web en http://www.intraway.com




More information about the live-devel mailing list