In article <496f0fac.30...@cemery.org.uk>, Ranec <python-...@cemery.org.uk> wrote: > The following code works just fine under Windows XP and Vista but not on > MacOS X (currently no idea what version, though Python is 2.5.?). Any > thoughts? > > def get_my_ip_address(): > ret=None > try: > s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) > s.connect(('google.com', 0)) > sn=s.getsockname() > if sn: > ret=sn[0] > except socket.error, e: > hn=socket.gethostname() > ret=socket.gethostbyname(hn) > return ret > > produces the stack: > > Traceback (most recent call last): > File "./sarnie_client.py", line 181, in get_my_ip_address > s.connect(('google.com', 0)) > File "<string>", line 1, in connect > socket.error: (49, "Can't assign requested address") > > My application has been given firewall rights accept connections from > the Internet. Is there perhaps anything else that I should configure?
Don't use port 0. >>> import socket >>> s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) >>> s.connect(('google.com', 0)) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in connect socket.error: [Errno 49] Can't assign requested address >>> s.connect(('google.com', 1)) >>> sn = s.getsockname() >>> sn ('10.20.30.40', 56621) -- Ned Deily, n...@acm.org _______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig