Ein Echo-Server
Daten zurücksenden
Ein Echo-Server soll die von einem Client gesendeten Daten unverändert an den Client zurücksenden.
Die folgende Übersicht zeigt, wie ein Echo-Server mit Socket-Objekten realisiert werden kann. Zudem sind die Aktionen der Sockets in der Reihenfolge dargestellt, in der sie ausgeführt werden.
Client | Server |
---|---|
>>> import socket >>> s = socket.socket() >>> port = 12345 >>> s.bind(('', port)) >>> s.listen(1) >>> (k, adr) = s.accept() |
|
>>> import socket >>> c = socket.socket() >>> ip = '127.0.0.1' >>> port = 12345 >>> c.connect((ip, port)) |
|
>>> empfangen = k.recv(1024) |
|
>>> c.send(bytes('Hallo', 'ascii')) 5 |
|
>>> empfangen b'Hallo' |
|
>>> zurueckempfangen = c.recv(1024) |
|
>>> k.send(empfangen) 5 |
|
>>> zurueckempfangen b'Hallo' |
|
>>> c.close() >>> |
>>> k.close() >>> s.close() |
Aufgabe 1
Probiere das selbst einmal aus.