OK, well, duplication aside, I'm glad you posted this, because the new information is very useful. Look at that stack trace:
Java's clearly trying to lookup a host named "rdan"
I looked at the JDK source; these classes haven't changed in a long time so even without knowing what Java version you're using I can see what's going on.
The important line is InetAddress.java line 449:
Anyway, you can see that this is being passed a host name,
not an IP address, as you assert -- it doesn't start with a number. If you look at the Socket constructor at line 100, you'll see it's just
So without any shadow of a doubt, your code is passing the host name to a Socket constructor, not the dotted-quartet IP address, and the Linux box can't look up the hostname. Check your code!
A quick fix, by the way, could be to add the host "rdan" to the /etc/hosts file.