Ok, here is my ifconfig:
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fdb4:c52a:7370:3106:216:cbff:fe8e:6556 prefixlen 128
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:16:cb:8e:65:56
media: autoselect status: inactive
supported media: autoselect 10baseT/UTP <half-duplex> 10baseT/UTP <full-duplex> 10baseT/UTP <full-duplex,hw-loopback> 10baseT/UTP <full-duplex,flow-control> 100baseTX <half-duplex> 100baseTX <full-duplex> 100baseTX <full-duplex,hw-loopback> 100baseTX <full-duplex,flow-control> 1000baseT <full-duplex> 1000baseT <full-duplex,hw-loopback> 1000baseT <full-duplex,flow-control> none
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 2030
inet 169.254.203.185 netmask 0xffff0000 broadcast 169.254.255.255
lladdr 00:16:cb:ff:fe:e3:1d:56
media: autoselect <full-duplex> status: inactive
supported media: autoselect <full-duplex>
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::217:f2ff:fe3e:d09f%en1 prefixlen 64 scopeid 0x6
inet 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:17:f2:3e:d0:9f
media: autoselect status: active
supported media: autoselect
en3: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::21c:42ff:fe00:1%en3 prefixlen 64 scopeid 0x7
inet 169.254.69.161 netmask 0xffff0000 broadcast 169.254.255.255
ether 00:1c:42:00:00:01
media: autoselect status: active
supported media: autoselect
en2: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::21c:42ff:fe00:0%en2 prefixlen 64 scopeid 0x8
inet 169.254.69.161 netmask 0xffff0000 broadcast 169.254.255.255
ether 00:1c:42:00:00:00
media: autoselect status: active
supported media: autoselect
en4: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:16:cb:1c:d9:14
media: autoselect status: inactive
supported media: none autoselect 10baseT/UTP <half-duplex>
As you can see it always binds to 169.254.203.185 (en0) which is my ethernet card. This explains why when I run while plugged in it works, but when on wireless it doesn't resolve the IP from en1 and instead uses the IP assigned to en0. (The other adapters are my firewall and virtual adapters for Parallels, I have disabled them and tried before but it didnt make a difference)
Here is my /etc/hosts:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
FYI, OS X is now fully Unix compatible so I imagine most unix commands will work.
[Message sent by forum member 'arjunlall' (arjunlall)]
http://forums.java.net/jive/thread.jspa?messageID=245795