[prev in list] [next in list] [prev in thread] [next in thread] 

List:       twsocket
Subject:    Re: [twsocket] listening on two multicast sockets on the same port
From:       Primoz Gabrijelcic <primoz () gabrijelcic ! org>
Date:       2011-06-17 6:47:28
Message-ID: 1327944558.20110617084728 () gabrijelcic ! org
[Download RAW message or body]

That was it! Thanks!

Primoz

> Hi Primoz,
> maybe the ReuseAddr property?

> This is my Implementation:

> procedure TUDP.StartRx;
> begin
>   Disconnect;
>   pLocalIP:=trim(pLocalIP);
>   if (pLocalIP<>'')and(pLocalPort>0) then
>   begin
>     fWS.Proto:='udp';
>     fWS.MultiThreaded:=pMultiThreaded;
>     fWS.Addr:=pLocalIP;
>     fWS.Port:=inttostr(pLocalPort);
>     if fWS.Addr='' then
>       fWS.Addr:='0.0.0.0';
>     if pMulticast then
>     begin
>       fWS.MultiCast:=true;
>       fWS.ReuseAddr:=true;
>       fWS.MultiCastAddrStr:=pPeerIP;
>     end;
>     fWS.Listen;
>     fWS.SocketRcvBufSize:=fRXSize;
>     if pMulticast then

> setsockopt(fWS.HSocket,IPPROTO_IP,IP_MULTICAST_TTL,@pMulticastTTL,sizeof(pMulticastTTL));
>   end
>   else
>     TLogger.Log('UDP socket start rx error LocalIP='+pLocalIP+'
> LocalPort='+inttostr(pLocalPort),lsError,true);
> end;


> Bye
> Emanuele


> Il 16/06/2011 12:29, Primoz Gabrijelcic ha scritto:
>> Hello, Everybody!
>> 
>> I have some problems with multicasting implementation, most probably
>> caused by my insufficient understanding of the subject.
>> 
>> I have multiple applications that can stream and listen on multicasted
>> traffic. Because I want them to bind only to one physical interface,
>> I'm initializing receiving socket as follows:
>> 
>>     Port := 9200; // multicast port
>>     Addr := '172.16.1.1'; // IP address of the physical adapter I want to bind to
>>     MultiCastAddrStr := '239.192.1.1';
>>     MultiCast := true;
>>     Proto := 'udp';
>> 
>> This works fine as long as I only want to listen from one program on
>> this computer. As soon as I start the second instance which binds to
>> the same multicast address and port, the second .Listen fails with
>> error 10048.
>> 
>> I was living under understanding that it's entirely possible to listen
>> on the same multicast socket from more than one application on a
>> single computer and VLC player confirms me in those beliefs - I can
>> easily start two VLCs on same multicast address:port and both will
>> play incoming video.
>> 
>> Most probably the error is just in my understanding of how
>> multicasting is implemented inside ICS. Can you please point to the
>> error in my approach?
>> 
>> Best regards,
>> Primoz
>> 
>> --
>> To unsubscribe or change your settings for TWSocket mailing list
>> please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
>> Visit our website at http://www.overbyte.be


--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic