Here is some additional information. We can ping the JBoss machine from the other machine, running on the different class C network. We can even bring up the JBoss web-console from the machine of the different class C network. So, we know the problem is not in the network hardware, a firewall, etc. The only thing that does not work is a JMS connection between the two.
Does anybody know how to work around this problem?
You haven't said what version you are using.
We fixed our problem by modifying the reverse DNS tables on our server machine.
Here is our theory:
It appears that the JBoss machine does a reverse lookup back to the client machine. We connect to the JMS from the client using an ip address and port number, but the Microsoft TCP/IP stack tries to be smart and use the hostname. Then when the JMSMessaging software tries to respond to the client, it doesn?t know how to resolve the client?s host name back to an IP address.
In any case, we are now able to communicate with the JMS topics from clients on a different class C network.
It appears that the JBoss machine does a reverse lookup back to the client machine
Only on an old version... we have fixed that on recent versions using a bi-socket protocol. You would need to say what version you are using.
We are using JBoss 4.2.0-CR1 with JBoss-Messaging 1.2.0.sp1
1.2.0 needed a server2client socket creation.
1.3.0+ doesn't need that. The client will create sockets for both ways.