From c15fcb90b4668f026bc4d823dcdd2304f55420cb Mon Sep 17 00:00:00 2001 From: geby Date: Tue, 5 Feb 2013 10:37:38 +0000 Subject: [PATCH] Fixed AddMulticast git-svn-id: https://svn.code.sf.net/p/synalist/code/trunk@172 7c85be65-684b-0410-a082-b2ed4fbef004 --- blcksock.pas | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/blcksock.pas b/blcksock.pas index ca1b679..c1f4d3d 100644 --- a/blcksock.pas +++ b/blcksock.pas @@ -1,9 +1,9 @@ {==============================================================================| -| Project : Ararat Synapse | 009.009.000 | +| Project : Ararat Synapse | 009.009.001 | |==============================================================================| | Content: Library base | |==============================================================================| -| Copyright (c)1999-2012, Lukas Gebauer | +| Copyright (c)1999-2013, Lukas Gebauer | | All rights reserved. | | | | Redistribution and use in source and binary forms, with or without | @@ -33,7 +33,7 @@ | DAMAGE. | |==============================================================================| | The Initial Developer of the Original Code is Lukas Gebauer (Czech Republic).| -| Portions created by Lukas Gebauer are Copyright (c)1999-2012. | +| Portions created by Lukas Gebauer are Copyright (c)1999-2013. | | All Rights Reserved. | |==============================================================================| | Contributor(s): | @@ -3650,7 +3650,8 @@ begin else begin Multicast.imr_multiaddr.S_addr := swapbytes(strtoip(MCastIP)); - Multicast.imr_interface.S_addr := INADDR_ANY; +// Multicast.imr_interface.S_addr := INADDR_ANY; + Multicast.imr_interface.S_addr := FLocalSin.sin_addr.S_addr; SockCheck(synsock.SetSockOpt(FSocket, IPPROTO_IP, IP_ADD_MEMBERSHIP, PAnsiChar(@Multicast), SizeOf(Multicast))); end; @@ -3676,7 +3677,8 @@ begin else begin Multicast.imr_multiaddr.S_addr := swapbytes(strtoip(MCastIP)); - Multicast.imr_interface.S_addr := INADDR_ANY; +// Multicast.imr_interface.S_addr := INADDR_ANY; + Multicast.imr_interface.S_addr := FLocalSin.sin_addr.S_addr; SockCheck(synsock.SetSockOpt(FSocket, IPPROTO_IP, IP_DROP_MEMBERSHIP, PAnsiChar(@Multicast), SizeOf(Multicast))); end;