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.