[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