Most probably your server socket is bound to the loopback IP address 127.0.0.1
instead of the "all IP addresses" symbolic IP 0.0.0.0
(note this is NOT a netmask). To confirm this, run sudo netstat -ntlp
(If you are on linux) or netstat -an -f inet -p tcp | grep LISTEN
(OSX) and check which IP your process is bound to (look for the line with ":3000"). If you see "127.0.0.1", that's the problem. Fix it by passing "0.0.0.0" to the listen
call:
var app = connect().use(connect.static('public')).listen(3000, "0.0.0.0");