Re: [Pythonmac-SIG] socket code works on Win32 but not Mac :-(

2009-01-16 Thread Ranec
Ned Deily wrote:
 In article 496f0fac.30...@cemery.org.uk,
  Ranec python-...@cemery.org.uk wrote:
   
 [snip]

Thanks for all the help.
It's clear the port was the issue.

TIA

-R
___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig


[Pythonmac-SIG] socket code works on Win32 but not Mac :-(

2009-01-15 Thread Ranec
Dear All,

I'm writing a Python FOSS application and am *very* keen to keep it
platform agnostic.

I don't own a Mac, but have access to some sympathetic Mac owners. :-)

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?

TIA

-R
___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig


Re: [Pythonmac-SIG] socket code works on Win32 but not Mac :-(

2009-01-15 Thread Nehemiah Dacres
temporary answer

 http://www.artima.com/forums/flat.jsp?forum=181thread=113874

On Thu, Jan 15, 2009 at 4:27 AM, Ranec python-...@cemery.org.uk wrote:

 Dear All,

 I'm writing a Python FOSS application and am *very* keen to keep it
 platform agnostic.

 I don't own a Mac, but have access to some sympathetic Mac owners. :-)

 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?

 TIA

 -R
 ___
 Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
 http://mail.python.org/mailman/listinfo/pythonmac-sig




-- 

lalalalala! it's not broken because I can use it

http://linux.slashdot.org/comments.pl?sid=194281threshold=1commentsort=0mode=threadcid=15927703
___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig


Re: [Pythonmac-SIG] socket code works on Win32 but not Mac :-(

2009-01-15 Thread Bill Janssen
Ranec python-...@cemery.org.uk wrote:

 s.connect(('google.com', 0))

What does this even mean?  google.com is a domain, not a server
(though it does forward to www.google.com).  And port 0?  Does
anything listen on port 0?  Sounds like OS X is the only platform that
gets this right :-).  Try this:

  s.connect(('www.google.com', 80))

for instance, to connect to the Web server.

Bill
___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig


Re: [Pythonmac-SIG] socket code works on Win32 but not Mac :-(

2009-01-15 Thread Bill Janssen
Sorry, my mistake.  I didn't see you were using UDP...

Bill Janssen jans...@parc.com wrote:
 does anything listen on port 0?

Bill
___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig


Re: [Pythonmac-SIG] socket code works on Win32 but not Mac :-(

2009-01-15 Thread Ned Deily
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