Seite 1 von 1

Socket: Empfangen UND schreiben?

Verfasst: Mittwoch 22. Januar 2003, 16:57
von VoLANo
Hallo,

ich bin grade an einem Projekt am arbeiten, wo Sockets benötigt werden.
Jetzt muss ich über den Socket Daten empfangen und auch senden können.
Leider geht das nicht.
Kann mir da jemand helfen?

Client:

Code: Alles auswählen

s = socket(AF_INET, SOCK_STREAM)
s.connect(("localhost", 8000))
s.send("LOGIN " + nick)
while 1:
    line = s.recv(1024)  ##an der Stelle bricht er ab
    if line!="":
        print line

Server:

Code: Alles auswählen

s = socket(AF_INET, SOCK_STREAM)
s.bind(("", 8000))
s.listen(5)
while 1:
    client, addr = s.accept()
    client.send("Willkommen")
    line = s.recv(1024)

Das wars so im groben. Hoffe, mir kann jemand helfen.

Re: Socket: Empfangen UND schreiben?

Verfasst: Mittwoch 22. Januar 2003, 18:20
von Voges
Bekommst du nicht mal eine Exception? Die Entlosschleife im Client kommt mir doch etwas gewagt vor.
Jan

Verfasst: Mittwoch 22. Januar 2003, 21:00
von VoLANo
Hehe das ist ja nur zum Testen.
Wie würdest Du das denn machen, wenn man über den Socket Daten senden und empfangen muss?

Verfasst: Freitag 24. Januar 2003, 11:35
von VoLANo
Bitte. ich brauche das für mein Praktikum.
Kann mir keiner helfen?

Re: Socket: Empfangen UND schreiben?

Verfasst: Freitag 24. Januar 2003, 12:31
von joerg
VoLANo hat geschrieben:

Code: Alles auswählen

s = socket(AF_INET, SOCK_STREAM)
s.bind(("", 8000))
s.listen(5)
while 1:
    client, addr = s.accept()
    client.send("Willkommen")
    line = s.recv(1024)
Ich würde das s.recv(1024) durch ein client.recv(1024) ersetzen. Außerdem sollte der Server erst lesen ("LOGIN"+nick) und dann sein "Willkommen" schreiben, würde ich denken.

In der Doku zum Modul "socket" gibt es auch ein kleines Beispiel, schau Dir das mal an.

Viel Glück
Jörg