Socket: Empfangen UND schreiben?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
VoLANo

Socket: Empfangen UND schreiben?

Beitragvon VoLANo » Mittwoch 22. Januar 2003, 16:57

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.
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Re: Socket: Empfangen UND schreiben?

Beitragvon Voges » Mittwoch 22. Januar 2003, 18:20

Bekommst du nicht mal eine Exception? Die Entlosschleife im Client kommt mir doch etwas gewagt vor.
Jan
VoLANo

Beitragvon VoLANo » Mittwoch 22. Januar 2003, 21:00

Hehe das ist ja nur zum Testen.
Wie würdest Du das denn machen, wenn man über den Socket Daten senden und empfangen muss?
VoLANo

Beitragvon VoLANo » Freitag 24. Januar 2003, 11:35

Bitte. ich brauche das für mein Praktikum.
Kann mir keiner helfen?
joerg
User
Beiträge: 188
Registriert: Samstag 17. August 2002, 17:48
Wohnort: Berlin
Kontaktdaten:

Re: Socket: Empfangen UND schreiben?

Beitragvon joerg » Freitag 24. Januar 2003, 12:31

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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder