[Python-de] connect() geht nicht

Gerhard Häring haering_python at gmx.de
Tue Jul 23 01:31:06 EDT 2002


* Simon Kuhnle <moefish at web.de> [2002-07-22 20:02 +0200]:
> Hi Leute,
> 
> ich habe ein Problem mit der connect() Funktion,
> und zwar diesen:
> 
> >>> import socket
> >>> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
> 
> # Bis hier geht noch alles---
> 
> >>> s.connect("www.python.org")
> Traceback (most recent call last):
>   File "<pyshell#11>", line 1, in ?
>     s.connect("www.python.org")
>   File "<string>", line 1, in connect
> TypeError: getsockaddrarg: AF_INET address must be tuple, not str
> 
> Was soll das bedeuten?

Dass man für eine Verbindung via TCP/IP IP-Adresse _und_ Portnummber
braucht:

s.connect(("www.python.org", 80))

> Könnte mir vielleicht jemand das bitte
> erklären?  Was genau muss ich machen um zu connecten?  Ihr würdet
> einem Python Newbie helfen :)

Socket Programming HOWTO (leider in der Online-Version noch
fehlerbehaftet, die Bugs, die ich gesehen habe, sind aber bereits
reported und in CVS gefixt) - es handelete sich darum, dass man für
connect und listen eben Tupel braucht, auch wenn 1.5.2 und Vorgänger
zufällig eine andere Syntax akzeptierten.

Gerhard
-- 
This sig powered by Python!
Außentemperatur in München: 19.3 °C      Wind: 1.7 m/s



More information about the Python-de mailing list