www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/02/20/07:55:56

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Date: Fri, 20 Feb 2009 13:55:34 +0100
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Problem Adding Membership Multicast Errno 22
Message-ID: <20090220125534.GD24834@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <22119431 DOT post AT talk DOT nabble DOT com> <20090220124814 DOT GC24834 AT calimero DOT vinschen DOT de>
MIME-Version: 1.0
In-Reply-To: <20090220124814.GC24834@calimero.vinschen.de>
User-Agent: Mutt/1.5.17 (2007-11-01)
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On Feb 20 13:48, Corinna Vinschen wrote:
> On Feb 20 04:05, victhor_1983 wrote:
> > 	status= setsockopt(Descriptor, IPPROTO_IP, IP_ADD_MEMBERSHIP, &Multic,
> > sizeof(Multic));
> >         if (status<0){
> >            printf("Fallo al añadir el grupo de Multicast, codigo %i\n",
> > errno);
> > 	}
> 
> I'm sorry, I can't tell you why this doesn't work.  Cygwin's setsockopt
> function is basically just a shim between application and Winsock's
> setsockopt call.  It only performs special actions on a very limited
> set of options, only two actually: (SOL_SOCKET, SO_REUSEADDR) and
> (IPPROTO_IP, IP_TOS).  I'm also quite multicast illiterate.  Is it
> possible that you have to use the IP_MULTICAST_IF option on Windows
> before you can use IP_ADD_MEMBERSHIP?!?

Here's one idea:  Is it possible that your application includes
winsock.h?  If so, don't do that, use the POSIX headers for socket and
ip stuff.  Winsock.h is the WInsock specific header file for
applications using the old Winsock 1.x API.  In that API,
IP_ADD_MEMBERSHIP is defined as the value 5.

However, the newer Winsock 2.x API, which is used by Cygwin under the
hood as well, defines IP_ADD_MEMBERSHIP as the value 12.  So, if there's
any chance that you're including the winsock.h header, remove it and
only use Cygwin's header files, not the Winsock specifc header files.


Hope that helps,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019