Firstly, you may have a firewall, so make sure the port in question is not blocked by it.
Secondly, most home Internet connections these days use NAT. This is typically a feature of your router which allows multiple machines on your local network to hide behind a single public IP address. Most routers have a settings panel somewhere allowing you to map external port numbers to internal machines.
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'