# Echo server program
import socket

HOST = ''                 # Symbolic name meaning the local host
PORT = 50007              # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr

conn.send("Ciao Alessio!\r\n")
conn.send("Parla che Python ti ascolta\r\n\n")
conn.send("Per chiudere la connessione digitare quit (+ invio)\r\n\n")

str = ""
while 1:
	data = conn.recv(1024)
	if not data: break
	else:
		data = data.lower()           # porta tutto in minuscolo
		str += data                       # aggiunge il carattere a str
		if str[-2:] == "\r\n":             # se è arrivato un INVIO
			if str == "quit\r\n":      # se str == quit+INVIO
				break                # fa il break del while 1
			print str                     # scrive str *sul server log*
			str=""                       # azzera str ad ogni invio
	conn.send(data)                       # rimanda al terminale client
						          	   # l'echo (in minuscolo)
	
conn.close()          # chiude la connessione
print 'Connessione chiusa da parte di', addr 
