[jboss-jira] [JBoss JIRA] Commented: (JGRP-515) UDP.java requires the multicast address in the multicastsocket constructor to fix crosstalk on certain operating systems

Bela Ban (JIRA) jira-events at lists.jboss.org
Mon Jun 11 09:09:11 EDT 2007


    [ http://jira.jboss.com/jira/browse/JGRP-515?page=comments#action_12364865 ] 
            
Bela Ban commented on JGRP-515:
-------------------------------

If I make the suggested change in mcreceive.c:

 /* construct a multicast address structure */
  memset(&mc_addr, 0, sizeof(mc_addr));
  mc_addr.sin_family      = AF_INET;
  // mc_addr.sin_addr.s_addr = htonl(INADDR_ANY);
  mc_addr.sin_addr.s_addr = inet_addr(mc_addr_str); // <==== changed !
  mc_addr.sin_port        = htons(mc_port);

, where I bind to the multicast address and port, then this works on Linux (Fedora 7), but fails on Windows:
$ ./mcreceive.exe 228.8.8.8 7500
bind() failed: Cannot assign requested address
(my routing table is below)

I thought that bind() had to accept the address associated with a local network interface, so that a class D address is invalid.

Network Destination        Netmask          Gateway       Interface  Metric
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      192.168.5.0    255.255.255.0      192.168.5.2     192.168.5.2       10
      192.168.5.2  255.255.255.255        127.0.0.1       127.0.0.1       10
    192.168.5.255  255.255.255.255      192.168.5.2     192.168.5.2       10
        224.0.0.0        240.0.0.0      192.168.5.2     192.168.5.2       10
  255.255.255.255  255.255.255.255      192.168.5.2     192.168.5.2       1




> UDP.java requires the multicast address in the multicastsocket constructor to fix crosstalk on certain operating systems
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JGRP-515
>                 URL: http://jira.jboss.com/jira/browse/JGRP-515
>             Project: JGroups
>          Issue Type: Patch
>         Environment: Tested on Fedora Core 6, JDK 1.5.0_10
>            Reporter: ggimler
>         Assigned To: Bela Ban
>             Fix For: 2.5
>
>         Attachments: mcreceive.c, mcsend.c, UDP.java
>
>
> I'm submitting a patch for a crosstalk issue described below.
> I'm trying to debug a problem I'm seeing when running JGroups on the
> same network/machine as another application that is sending/receiving
> data via regular multicast (not through JGroups).  I'm using version
> 2.4.1-SP3.  My scenario is as follows...
> JGroups send on 228.0.0.1:50000
> JGroups receive on 228.0.0.1:50000
> This works fine.  When I start up another application that does
> Sends regular multicast on 228.0.0.2:50000
> Receives regular multicast on 228.0.0.2:50000
> Then the JVM with the JGroups sender/receiver complains with:
> May 15, 2007 4:47:59 PM org.jgroups.protocols.TP handleIncomingPacket
> WARNING: packet from 192.168.101.133:36594 has different version
> (26725) from ours (2.4.1). Packet is discarded
> The patch is in UDP.java:

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list