kxmlrpcd should be running. If not it won't work. You can only connect to localhost because you want to use the kxmlrpcd on your machine. If www.perlmonks.com was running the service, specifiying it in the URL would make output show up there. But it isn't so that won't work at all.
The problem is for some reason you can't make connections to kxmlrpcd. Could your firewall or iptables filtering etc. be blocking connections maybe? Try telneting directly to the port specified in $port on localhost. If you get "connection refused" and you are sure the server is up, I'm willing to bet that's the problem.