Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <3CCF2566.5C8574B1@cs.cmu.edu> Date: Tue, 30 Apr 2002 19:14:46 -0400 From: Yang-hua Chu X-Accept-Language: en MIME-Version: 1.0 To: cygwin AT cygwin DOT com CC: eugeneng AT cs DOT cmu DOT edu Subject: support for multicast socket Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, I'm porting a network protocol (about 50K lines of code) developed in UNIX into cygwin, and I ran into problems when I want to open a multicast socket. When I bind() a network socket to a multicast address/port, I got an error EADDRNOTAVAIL. Below is a distilled sample code, sample output, and my cygwin configuration. Has anyone been successful in using multicast in cygwin? If multicast socket is not currently implemented in cygwin, are there plans to implement it in the near future? Any pointer is much appreciated. Thanks. Yang-hua ------------------------------ Sample code to open a multicast socket #include #include #include #include #include #include #include #include #include /* sockaddr_in{} and other Internet defns */ int main(int argc, char *argv[]) { char *name = "235.1.2.3"; int port = 5000; // resolve the IP address struct hostent *host; if ((host = gethostbyname(name)) == NULL) { printf("\nhostname %s not found", name); return -1; } int ip = htonl(*(int *)host->h_addr); int fd = socket(AF_INET, SOCK_DGRAM, 0); struct sockaddr_in sock; bzero((char *)(&sock), sizeof(sock)); sock.sin_family = AF_INET; sock.sin_addr.s_addr = htonl(ip); sock.sin_port = htons(port); if (bind(fd, (struct sockaddr *)&sock, sizeof(sock)) < 0) { perror("bind"); } else { printf("bind to multicast address OK\n"); } close(fd); } ------------------------ Sample output [yhchu]/cygdrive/c/:{555}:$ ./a.exe bind: errno EADDRNOTAVAIL triggered ------------------------- Other relevant information about my cygwin Cygwin Win95/NT Configuration Diagnostics Current System Time: Tue Apr 30 18:55:29 2002 Windows NT Ver 4.0 Build 1381 Service Pack 5 Path: C:\cygwin\usr\local\bin C:\cygwin\bin C:\cygwin\bin c:\Perl\bin\ c:\WINNT\system32 c:\WINNT c:\PROGRA~1\CMU\KCLIENT\bin32 c:\PROGRA~1\Transarc\AFS\AFSCLI~1\PROGRAM c:\WINNT\System32\WBEM C:\cygwin\bin c:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT c:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin c:\Program Files\Microsoft Visual Studio\Common\Tools c:\Program Files\Microsoft Visual Studio\VC98\bin SysDir: C:\WINNT\System32 WinDir: C:\WINNT CYGWIN = `ntsec tty' HOME = `c:\' MAKE_MODE = `unix' PWD = `/cygdrive/h/cmcl-yhchu/yhchu/Code' USER = `yhchu' 751k 2002/02/25 C:\cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0 "cygwin1.dll" v0.0 ts=2002/2/25 11:14 Cygwin DLL version info: DLL version: 1.3.10 DLL epoch: 19 DLL bad signal mask: 19005 DLL old termios: 5 DLL malloc env: 28 API major: 0 API minor: 51 Shared data: 3 DLL identifier: cygwin1 Mount registry: 2 Cygnus registry name: Cygnus Solutions Cygwin registry name: Cygwin Program options name: Program Options Cygwin mount registry name: mounts v2 Cygdrive flags: cygdrive flags Cygdrive prefix: cygdrive prefix Cygdrive default prefix: Build date: Mon Feb 25 11:14:34 EST 2002 Shared id: cygwin1S3 -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/