Seite 1 von 1

Frage zu Server und Client

Verfasst: Sonntag 23. September 2012, 13:05
von _at
Hallo,

ich möchte gerne eine Kommunikation zwischen Server und Client über TCP aufbauen. Aber es scheitert leider schon beim Ansatz.

Auf einer Internetseite (http://ilab.cs.byu.edu/python/socket/echoserver.html) finde ich den folgenden Code für Server und Client.

Für den Server:

Code: Alles auswählen

#!/usr/bin/env python

"""
A simple echo server
"""

import socket

host = ''
port = 50000
backlog = 5
size = 1024
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host,port))
s.listen(backlog)
while 1:
    client, address = s.accept()
    data = client.recv(size)
    if data:
        client.send(data)
    client.close()
Und für den Client:

Code: Alles auswählen

#!/usr/bin/env python

"""
A simple echo client
"""

import socket

host = 'localhost'
port = 50000
size = 1024
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host,port))
s.send('Hello, world')
data = s.recv(size)
s.close()
print 'Received:', data
Und jetzt zu meiner Frage: Wie lasse ich die beiden denn kommunizieren? Wie starte ich überhaupt den Server? Indem ich doch Run Module in der Shell ausführe, oder? Das Problem ist dann aber, dass ich nicht den Client ausführen kann, weil die Shell dann restartet wird. Und kompilieren kann das ich Skript zum Server ja auch nicht.

Wie ihr schon seht, kenne ich mich absolut nicht aus mit dem Ganzen. Daher wäre es toll, wenn mir jemand helfen könnte :-)

Vielen Dank im Voraus!

Re: Frage zu Server und Client

Verfasst: Sonntag 23. September 2012, 17:15
von /me
_at hat geschrieben:Wie starte ich überhaupt den Server? Indem ich doch Run Module in der Shell ausführe, oder? Das Problem ist dann aber, dass ich nicht den Client ausführen kann, weil die Shell dann restartet wird. Und kompilieren kann das ich Skript zum Server ja auch nicht.
Bitte löse dich gedanklich davon für alles im Kontext mit Python immer IDLE benutzen zu müssen. IDLE ist eine Entwicklungsumgebung für Python (oder je nach Ansichtssache auch nur ein Placebo einer solchen), aber IDLE wird nicht benötigt um Python-Programme laufen zu lassen.

Öffne eine Shell des Betriebssystems und rufe dort einfach skriptname.py auf. In einer weiteren OS-Shell kannst du dann das zweite Skript ausführen.

Re: Frage zu Server und Client

Verfasst: Montag 29. Oktober 2012, 12:17
von fecub
ließ dir das mal bitte durch, ich denke es wird viele deiner fragen beantworten:
http://openbook.galileocomputing.de/pyt ... 2dff1b29bd

und hier kannst du sehen, wie sowas gestartet wird:
http://www.youtube.com/watch?v=zVnpKJu1rrE