Author: fhanik Date: Wed Oct 17 08:34:53 2007 New Revision: 585538 URL: http://svn.apache.org/viewvc?rev=585538&view=rev Log: http://issues.apache.org/bugzilla/show_bug.cgi?id=43641
Modified: tomcat/sandbox/gdev6x/java/org/apache/catalina/tribes/membership/McastServiceImpl.java Modified: tomcat/sandbox/gdev6x/java/org/apache/catalina/tribes/membership/McastServiceImpl.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/gdev6x/java/org/apache/catalina/tribes/membership/McastServiceImpl.java?rev=585538&r1=585537&r2=585538&view=diff ============================================================================== --- tomcat/sandbox/gdev6x/java/org/apache/catalina/tribes/membership/McastServiceImpl.java (original) +++ tomcat/sandbox/gdev6x/java/org/apache/catalina/tribes/membership/McastServiceImpl.java Wed Oct 17 08:34:53 2007 @@ -29,6 +29,7 @@ import org.apache.catalina.tribes.Channel; import org.apache.catalina.tribes.Member; import org.apache.catalina.tribes.MembershipListener; +import java.net.BindException; /** * A <b>membership</b> implementation using simple multicast. @@ -182,8 +183,22 @@ } protected void setupSocket() throws IOException { - if (mcastBindAddress != null) socket = new MulticastSocket(new InetSocketAddress(mcastBindAddress, port)); - else socket = new MulticastSocket(port); + if (mcastBindAddress != null) { + try { + log.info("Attempting to bind the multicast socket to "+address+":"+port); + socket = new MulticastSocket(new InetSocketAddress(address,port)); + } catch (BindException e) { + /* + * On some plattforms (e.g. Linux) it is not possible to bind + * to the multicast address. In this case only bind to the + * port. + */ + log.info("Binding to multicast address, failed. Binding to port only."); + socket = new MulticastSocket(port); + } + } else { + socket = new MulticastSocket(port); + } socket.setLoopbackMode(false); //hint that we don't need loop back messages if (mcastBindAddress != null) { if(log.isInfoEnabled()) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]