[
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