Seite 1 von 1

Endlosschleife bei PYthon Server TCP Beispiel

Verfasst: Samstag 1. Juni 2013, 15:28
von Sico
Hi

ich habe diesen Code und würde gerne erreichen, dass das Script nach dem Empfangen direkt wieder auf eine Nachricht wartet. So wie ich es jetzt habe wird aber das Script nach dem ersten Empfangen beendet.

Was kann ich tun?

Code: Alles auswählen

import socket


TCP_IP = '0.0.0.0'
TCP_PORT = 5005
BUFFER_SIZE = 20  # Normally 1024, but we want fast response

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((TCP_IP, TCP_PORT))
s.listen(1)

conn, addr = s.accept()
print 'Connection address:', addr
while 1:
    data = conn.recv(BUFFER_SIZE)
    if not data: break
    print "received data:", data
    conn.send(data)  # echo
conn.close()

Re: Endlosschleife bei PYthon Server TCP Beispiel

Verfasst: Samstag 1. Juni 2013, 15:46
von BlackJack
@Sico: Die Schleife wird beendet wenn die Gegenseite die Verbindung geschlossen hat. Du bräuchtest halt noch eine Schleife um den gesamten Vorgang des Annehmens einer Verbindung und dem verarbeiten der Daten.

Re: Endlosschleife bei PYthon Server TCP Beispiel

Verfasst: Samstag 1. Juni 2013, 16:29
von Sico
ok, aber wie genau mach ich das?

Re: Endlosschleife bei PYthon Server TCP Beispiel

Verfasst: Samstag 1. Juni 2013, 17:16
von BlackJack
@Sico: Du schaust welcher Code wiederholt werden muss um statt eine Verbindung beliebig viele zu bedienen, und steckst den in eine ``while True``-Schleife. Wenn Du das nicht kannst, dann solltest Du vielleicht mit den Grundlagen anfangen und nicht gleich mit Netzwerkprogrammierung. :-)