Vielleicht hilfts euch ja

Es könnte leichtere/schlankere Varianten geben, aber am Ende machts in meinem Programm auch nichts aus, wenns mal 10 Zeilen länger ist!

Danke, Euer dodo.
CODE(SERVER):
Code: Alles auswählen
#Vorbereiten des Log-ins
#Socketvorbereitung
import socket
ss = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ss.bind(("",50000))
ss.listen(1)
#Logincodes
try:
while True:
komm, addr = ss.accept #akzeptieren der "Loginnachricht"("Syntax":"Benutzername|Passwort")
while True:
data = komm.recv(1024) #"Loginnachricht" wird in die Variable data kopiert
if not data:
komm.close() #Beenden, falls keine Nachrichten gibt.
break
dataf = open("loginUSR", 'r') #Öffnen der Datei, die die Benutzernamen enthält.
datar = dataf.read()#Lesen der Datei
datar = datar.split("\n")#Trennen der einzelnen Benutzernamen
dirda = data.split("|")#Trennen von Benutzername und Passwort in der "Loginnachricht"
if dirda[0] in datar:#Falls der eingegebene Benutzername in den existierenden Benutzernamen enthalten ist...
for i in range(0,len(data)-1):...wird getestet wo.
if datar[i] == dirda[0]:
x = i #Feststellen des Index(Ich weiß, dass es dafür ne Funktion gibt, fiel mir nur nicht ein)
b = open("loginPWS", 'r')#Öffnen der Passwortdatei
c = b.read()#lesen
c = c.split("\n")#aufteilen
if c[x] == dirda[1]:#index vom Benutzernamen = Index vom Passwort
komm.send("YOUCAN")#Aktzeptieren der Benutzerdaten
else:
komm.send("YOUCANT")#Falsches Passwort
else:
komm.send("YOUCANT")#Falsches Passwort
Code: Alles auswählen
#Vorbereiten...
import socket
ip = #Hier folgt die IP-Adresse des Servers
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, 50000))
try:
while True:
ben = raw_input("Benutzername: ")
pas = raw_input("Passwort: ")
nachricht = ben + "|" + pas
s.send(nachricht)
antwort = s.recv(1024)
if antwort == "YOUCAN":
break
else:
print "Irgendwas war wohl falsch..."
print "Nu bist'e drin!"
s.close()
except:
print "keine Internetverbindung"
s.close()
finally:
try:
s.close()